package org.xtext.telcodev.dsl.ui.contentassist.antlr.internal; 

import java.io.InputStream;
import org.eclipse.xtext.*;
import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
import org.xtext.telcodev.dsl.services.VoiSGrammarAccess;



import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings("all")
public class InternalVoiSParser extends AbstractInternalContentAssistParser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ML_COMMENT", "RULE_DOUBLE", "RULE_INT", "RULE_ID", "RULE_STRING", "RULE_EVENTENUM", "RULE_LOGIC_WORD", "RULE_COMPARE", "RULE_NEGATION", "RULE_MATH", "RULE_CONCATENATION", "RULE_NULL", "RULE_SESSION", "RULE_BOOL", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'application'", "'state'", "'times:'", "'{'", "'}'", "'timeout:'", "'dialTo'", "';'", "'play'", "'record'", "'time:'", "'as'", "'getDigits'", "':'", "'num:'", "'ask'", "'('", "')'", "'choices:'", "'sendAs'", "'to'", "'say'", "'goTo'", "'when'", "'else'", "'if'", "'string'", "'='", "'num'", "'boolean'", "'save'", "'withStates'", "'reject'", "'hangup'"
    };
    public static final int RULE_ID=7;
    public static final int T__29=29;
    public static final int T__28=28;
    public static final int T__27=27;
    public static final int T__26=26;
    public static final int T__25=25;
    public static final int T__24=24;
    public static final int T__23=23;
    public static final int T__22=22;
    public static final int RULE_ANY_OTHER=20;
    public static final int T__21=21;
    public static final int RULE_BOOL=17;
    public static final int EOF=-1;
    public static final int T__51=51;
    public static final int T__52=52;
    public static final int T__53=53;
    public static final int T__54=54;
    public static final int RULE_CONCATENATION=14;
    public static final int RULE_INT=6;
    public static final int RULE_COMPARE=11;
    public static final int T__50=50;
    public static final int T__42=42;
    public static final int T__43=43;
    public static final int T__40=40;
    public static final int T__41=41;
    public static final int T__46=46;
    public static final int T__47=47;
    public static final int T__44=44;
    public static final int T__45=45;
    public static final int T__48=48;
    public static final int T__49=49;
    public static final int RULE_NEGATION=12;
    public static final int RULE_SL_COMMENT=18;
    public static final int RULE_DOUBLE=5;
    public static final int RULE_NULL=15;
    public static final int RULE_ML_COMMENT=4;
    public static final int T__30=30;
    public static final int T__31=31;
    public static final int T__32=32;
    public static final int RULE_STRING=8;
    public static final int T__33=33;
    public static final int T__34=34;
    public static final int RULE_LOGIC_WORD=10;
    public static final int T__35=35;
    public static final int T__36=36;
    public static final int T__37=37;
    public static final int T__38=38;
    public static final int T__39=39;
    public static final int RULE_SESSION=16;
    public static final int RULE_EVENTENUM=9;
    public static final int RULE_WS=19;
    public static final int RULE_MATH=13;

    // delegates
    // delegators


        public InternalVoiSParser(TokenStream input) {
            this(input, new RecognizerSharedState());
        }
        public InternalVoiSParser(TokenStream input, RecognizerSharedState state) {
            super(input, state);
             
        }
        

    public String[] getTokenNames() { return InternalVoiSParser.tokenNames; }
    public String getGrammarFileName() { return "../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g"; }


     
     	private VoiSGrammarAccess grammarAccess;
     	
        public void setGrammarAccess(VoiSGrammarAccess grammarAccess) {
        	this.grammarAccess = grammarAccess;
        }
        
        @Override
        protected Grammar getGrammar() {
        	return grammarAccess.getGrammar();
        }
        
        @Override
        protected String getValueForTokenName(String tokenName) {
        	return tokenName;
        }




    // $ANTLR start "entryRuleDocument"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:60:1: entryRuleDocument : ruleDocument EOF ;
    public final void entryRuleDocument() throws RecognitionException {
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:61:1: ( ruleDocument EOF )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:62:1: ruleDocument EOF
            {
             before(grammarAccess.getDocumentRule()); 
            pushFollow(FOLLOW_ruleDocument_in_entryRuleDocument61);
            ruleDocument();

            state._fsp--;

             after(grammarAccess.getDocumentRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleDocument68); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleDocument"


    // $ANTLR start "ruleDocument"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:69:1: ruleDocument : ( ( rule__Document__Group__0 ) ) ;
    public final void ruleDocument() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:73:2: ( ( ( rule__Document__Group__0 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:74:1: ( ( rule__Document__Group__0 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:74:1: ( ( rule__Document__Group__0 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:75:1: ( rule__Document__Group__0 )
            {
             before(grammarAccess.getDocumentAccess().getGroup()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:76:1: ( rule__Document__Group__0 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:76:2: rule__Document__Group__0
            {
            pushFollow(FOLLOW_rule__Document__Group__0_in_ruleDocument94);
            rule__Document__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getDocumentAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleDocument"


    // $ANTLR start "entryRuleAbstractElement"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:88:1: entryRuleAbstractElement : ruleAbstractElement EOF ;
    public final void entryRuleAbstractElement() throws RecognitionException {
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:89:1: ( ruleAbstractElement EOF )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:90:1: ruleAbstractElement EOF
            {
             before(grammarAccess.getAbstractElementRule()); 
            pushFollow(FOLLOW_ruleAbstractElement_in_entryRuleAbstractElement121);
            ruleAbstractElement();

            state._fsp--;

             after(grammarAccess.getAbstractElementRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleAbstractElement128); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleAbstractElement"


    // $ANTLR start "ruleAbstractElement"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:97:1: ruleAbstractElement : ( ( rule__AbstractElement__Alternatives ) ) ;
    public final void ruleAbstractElement() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:101:2: ( ( ( rule__AbstractElement__Alternatives ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:102:1: ( ( rule__AbstractElement__Alternatives ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:102:1: ( ( rule__AbstractElement__Alternatives ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:103:1: ( rule__AbstractElement__Alternatives )
            {
             before(grammarAccess.getAbstractElementAccess().getAlternatives()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:104:1: ( rule__AbstractElement__Alternatives )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:104:2: rule__AbstractElement__Alternatives
            {
            pushFollow(FOLLOW_rule__AbstractElement__Alternatives_in_ruleAbstractElement154);
            rule__AbstractElement__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getAbstractElementAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleAbstractElement"


    // $ANTLR start "entryRuleStatement"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:116:1: entryRuleStatement : ruleStatement EOF ;
    public final void entryRuleStatement() throws RecognitionException {
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:117:1: ( ruleStatement EOF )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:118:1: ruleStatement EOF
            {
             before(grammarAccess.getStatementRule()); 
            pushFollow(FOLLOW_ruleStatement_in_entryRuleStatement181);
            ruleStatement();

            state._fsp--;

             after(grammarAccess.getStatementRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleStatement188); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleStatement"


    // $ANTLR start "ruleStatement"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:125:1: ruleStatement : ( ( rule__Statement__Alternatives ) ) ;
    public final void ruleStatement() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:129:2: ( ( ( rule__Statement__Alternatives ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:130:1: ( ( rule__Statement__Alternatives ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:130:1: ( ( rule__Statement__Alternatives ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:131:1: ( rule__Statement__Alternatives )
            {
             before(grammarAccess.getStatementAccess().getAlternatives()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:132:1: ( rule__Statement__Alternatives )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:132:2: rule__Statement__Alternatives
            {
            pushFollow(FOLLOW_rule__Statement__Alternatives_in_ruleStatement214);
            rule__Statement__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getStatementAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleStatement"


    // $ANTLR start "entryRuleStateAbstractElement"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:144:1: entryRuleStateAbstractElement : ruleStateAbstractElement EOF ;
    public final void entryRuleStateAbstractElement() throws RecognitionException {
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:145:1: ( ruleStateAbstractElement EOF )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:146:1: ruleStateAbstractElement EOF
            {
             before(grammarAccess.getStateAbstractElementRule()); 
            pushFollow(FOLLOW_ruleStateAbstractElement_in_entryRuleStateAbstractElement241);
            ruleStateAbstractElement();

            state._fsp--;

             after(grammarAccess.getStateAbstractElementRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleStateAbstractElement248); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleStateAbstractElement"


    // $ANTLR start "ruleStateAbstractElement"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:153:1: ruleStateAbstractElement : ( ( rule__StateAbstractElement__Alternatives ) ) ;
    public final void ruleStateAbstractElement() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:157:2: ( ( ( rule__StateAbstractElement__Alternatives ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:158:1: ( ( rule__StateAbstractElement__Alternatives ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:158:1: ( ( rule__StateAbstractElement__Alternatives ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:159:1: ( rule__StateAbstractElement__Alternatives )
            {
             before(grammarAccess.getStateAbstractElementAccess().getAlternatives()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:160:1: ( rule__StateAbstractElement__Alternatives )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:160:2: rule__StateAbstractElement__Alternatives
            {
            pushFollow(FOLLOW_rule__StateAbstractElement__Alternatives_in_ruleStateAbstractElement274);
            rule__StateAbstractElement__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getStateAbstractElementAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleStateAbstractElement"


    // $ANTLR start "entryRuleState"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:172:1: entryRuleState : ruleState EOF ;
    public final void entryRuleState() throws RecognitionException {
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:173:1: ( ruleState EOF )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:174:1: ruleState EOF
            {
             before(grammarAccess.getStateRule()); 
            pushFollow(FOLLOW_ruleState_in_entryRuleState301);
            ruleState();

            state._fsp--;

             after(grammarAccess.getStateRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleState308); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleState"


    // $ANTLR start "ruleState"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:181:1: ruleState : ( ( rule__State__UnorderedGroup ) ) ;
    public final void ruleState() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:185:2: ( ( ( rule__State__UnorderedGroup ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:186:1: ( ( rule__State__UnorderedGroup ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:186:1: ( ( rule__State__UnorderedGroup ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:187:1: ( rule__State__UnorderedGroup )
            {
             before(grammarAccess.getStateAccess().getUnorderedGroup()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:188:1: ( rule__State__UnorderedGroup )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:188:2: rule__State__UnorderedGroup
            {
            pushFollow(FOLLOW_rule__State__UnorderedGroup_in_ruleState334);
            rule__State__UnorderedGroup();

            state._fsp--;


            }

             after(grammarAccess.getStateAccess().getUnorderedGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleState"


    // $ANTLR start "entryRuleVoiceTag"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:200:1: entryRuleVoiceTag : ruleVoiceTag EOF ;
    public final void entryRuleVoiceTag() throws RecognitionException {
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:201:1: ( ruleVoiceTag EOF )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:202:1: ruleVoiceTag EOF
            {
             before(grammarAccess.getVoiceTagRule()); 
            pushFollow(FOLLOW_ruleVoiceTag_in_entryRuleVoiceTag361);
            ruleVoiceTag();

            state._fsp--;

             after(grammarAccess.getVoiceTagRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleVoiceTag368); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleVoiceTag"


    // $ANTLR start "ruleVoiceTag"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:209:1: ruleVoiceTag : ( ( rule__VoiceTag__Alternatives ) ) ;
    public final void ruleVoiceTag() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:213:2: ( ( ( rule__VoiceTag__Alternatives ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:214:1: ( ( rule__VoiceTag__Alternatives ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:214:1: ( ( rule__VoiceTag__Alternatives ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:215:1: ( rule__VoiceTag__Alternatives )
            {
             before(grammarAccess.getVoiceTagAccess().getAlternatives()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:216:1: ( rule__VoiceTag__Alternatives )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:216:2: rule__VoiceTag__Alternatives
            {
            pushFollow(FOLLOW_rule__VoiceTag__Alternatives_in_ruleVoiceTag394);
            rule__VoiceTag__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getVoiceTagAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleVoiceTag"


    // $ANTLR start "entryRuleDial"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:228:1: entryRuleDial : ruleDial EOF ;
    public final void entryRuleDial() throws RecognitionException {
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:229:1: ( ruleDial EOF )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:230:1: ruleDial EOF
            {
             before(grammarAccess.getDialRule()); 
            pushFollow(FOLLOW_ruleDial_in_entryRuleDial421);
            ruleDial();

            state._fsp--;

             after(grammarAccess.getDialRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleDial428); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleDial"


    // $ANTLR start "ruleDial"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:237:1: ruleDial : ( ( rule__Dial__Group__0 ) ) ;
    public final void ruleDial() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:241:2: ( ( ( rule__Dial__Group__0 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:242:1: ( ( rule__Dial__Group__0 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:242:1: ( ( rule__Dial__Group__0 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:243:1: ( rule__Dial__Group__0 )
            {
             before(grammarAccess.getDialAccess().getGroup()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:244:1: ( rule__Dial__Group__0 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:244:2: rule__Dial__Group__0
            {
            pushFollow(FOLLOW_rule__Dial__Group__0_in_ruleDial454);
            rule__Dial__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getDialAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleDial"


    // $ANTLR start "entryRulePlay"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:256:1: entryRulePlay : rulePlay EOF ;
    public final void entryRulePlay() throws RecognitionException {
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:257:1: ( rulePlay EOF )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:258:1: rulePlay EOF
            {
             before(grammarAccess.getPlayRule()); 
            pushFollow(FOLLOW_rulePlay_in_entryRulePlay481);
            rulePlay();

            state._fsp--;

             after(grammarAccess.getPlayRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRulePlay488); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRulePlay"


    // $ANTLR start "rulePlay"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:265:1: rulePlay : ( ( rule__Play__Group__0 ) ) ;
    public final void rulePlay() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:269:2: ( ( ( rule__Play__Group__0 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:270:1: ( ( rule__Play__Group__0 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:270:1: ( ( rule__Play__Group__0 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:271:1: ( rule__Play__Group__0 )
            {
             before(grammarAccess.getPlayAccess().getGroup()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:272:1: ( rule__Play__Group__0 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:272:2: rule__Play__Group__0
            {
            pushFollow(FOLLOW_rule__Play__Group__0_in_rulePlay514);
            rule__Play__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getPlayAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rulePlay"


    // $ANTLR start "entryRuleRecord"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:284:1: entryRuleRecord : ruleRecord EOF ;
    public final void entryRuleRecord() throws RecognitionException {
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:285:1: ( ruleRecord EOF )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:286:1: ruleRecord EOF
            {
             before(grammarAccess.getRecordRule()); 
            pushFollow(FOLLOW_ruleRecord_in_entryRuleRecord541);
            ruleRecord();

            state._fsp--;

             after(grammarAccess.getRecordRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleRecord548); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleRecord"


    // $ANTLR start "ruleRecord"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:293:1: ruleRecord : ( ( rule__Record__Group__0 ) ) ;
    public final void ruleRecord() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:297:2: ( ( ( rule__Record__Group__0 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:298:1: ( ( rule__Record__Group__0 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:298:1: ( ( rule__Record__Group__0 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:299:1: ( rule__Record__Group__0 )
            {
             before(grammarAccess.getRecordAccess().getGroup()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:300:1: ( rule__Record__Group__0 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:300:2: rule__Record__Group__0
            {
            pushFollow(FOLLOW_rule__Record__Group__0_in_ruleRecord574);
            rule__Record__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getRecordAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleRecord"


    // $ANTLR start "entryRuleReject"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:312:1: entryRuleReject : ruleReject EOF ;
    public final void entryRuleReject() throws RecognitionException {
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:313:1: ( ruleReject EOF )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:314:1: ruleReject EOF
            {
             before(grammarAccess.getRejectRule()); 
            pushFollow(FOLLOW_ruleReject_in_entryRuleReject601);
            ruleReject();

            state._fsp--;

             after(grammarAccess.getRejectRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleReject608); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleReject"


    // $ANTLR start "ruleReject"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:321:1: ruleReject : ( ( rule__Reject__Group__0 ) ) ;
    public final void ruleReject() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:325:2: ( ( ( rule__Reject__Group__0 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:326:1: ( ( rule__Reject__Group__0 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:326:1: ( ( rule__Reject__Group__0 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:327:1: ( rule__Reject__Group__0 )
            {
             before(grammarAccess.getRejectAccess().getGroup()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:328:1: ( rule__Reject__Group__0 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:328:2: rule__Reject__Group__0
            {
            pushFollow(FOLLOW_rule__Reject__Group__0_in_ruleReject634);
            rule__Reject__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getRejectAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleReject"


    // $ANTLR start "entryRuleHangup"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:340:1: entryRuleHangup : ruleHangup EOF ;
    public final void entryRuleHangup() throws RecognitionException {
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:341:1: ( ruleHangup EOF )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:342:1: ruleHangup EOF
            {
             before(grammarAccess.getHangupRule()); 
            pushFollow(FOLLOW_ruleHangup_in_entryRuleHangup661);
            ruleHangup();

            state._fsp--;

             after(grammarAccess.getHangupRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleHangup668); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleHangup"


    // $ANTLR start "ruleHangup"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:349:1: ruleHangup : ( ( rule__Hangup__Group__0 ) ) ;
    public final void ruleHangup() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:353:2: ( ( ( rule__Hangup__Group__0 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:354:1: ( ( rule__Hangup__Group__0 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:354:1: ( ( rule__Hangup__Group__0 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:355:1: ( rule__Hangup__Group__0 )
            {
             before(grammarAccess.getHangupAccess().getGroup()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:356:1: ( rule__Hangup__Group__0 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:356:2: rule__Hangup__Group__0
            {
            pushFollow(FOLLOW_rule__Hangup__Group__0_in_ruleHangup694);
            rule__Hangup__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getHangupAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleHangup"


    // $ANTLR start "entryRuleGetDigits"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:368:1: entryRuleGetDigits : ruleGetDigits EOF ;
    public final void entryRuleGetDigits() throws RecognitionException {
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:369:1: ( ruleGetDigits EOF )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:370:1: ruleGetDigits EOF
            {
             before(grammarAccess.getGetDigitsRule()); 
            pushFollow(FOLLOW_ruleGetDigits_in_entryRuleGetDigits721);
            ruleGetDigits();

            state._fsp--;

             after(grammarAccess.getGetDigitsRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleGetDigits728); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleGetDigits"


    // $ANTLR start "ruleGetDigits"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:377:1: ruleGetDigits : ( ( rule__GetDigits__Group__0 ) ) ;
    public final void ruleGetDigits() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:381:2: ( ( ( rule__GetDigits__Group__0 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:382:1: ( ( rule__GetDigits__Group__0 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:382:1: ( ( rule__GetDigits__Group__0 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:383:1: ( rule__GetDigits__Group__0 )
            {
             before(grammarAccess.getGetDigitsAccess().getGroup()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:384:1: ( rule__GetDigits__Group__0 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:384:2: rule__GetDigits__Group__0
            {
            pushFollow(FOLLOW_rule__GetDigits__Group__0_in_ruleGetDigits754);
            rule__GetDigits__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getGetDigitsAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleGetDigits"


    // $ANTLR start "entryRuleAsk"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:396:1: entryRuleAsk : ruleAsk EOF ;
    public final void entryRuleAsk() throws RecognitionException {
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:397:1: ( ruleAsk EOF )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:398:1: ruleAsk EOF
            {
             before(grammarAccess.getAskRule()); 
            pushFollow(FOLLOW_ruleAsk_in_entryRuleAsk781);
            ruleAsk();

            state._fsp--;

             after(grammarAccess.getAskRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleAsk788); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleAsk"


    // $ANTLR start "ruleAsk"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:405:1: ruleAsk : ( ( rule__Ask__Group__0 ) ) ;
    public final void ruleAsk() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:409:2: ( ( ( rule__Ask__Group__0 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:410:1: ( ( rule__Ask__Group__0 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:410:1: ( ( rule__Ask__Group__0 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:411:1: ( rule__Ask__Group__0 )
            {
             before(grammarAccess.getAskAccess().getGroup()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:412:1: ( rule__Ask__Group__0 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:412:2: rule__Ask__Group__0
            {
            pushFollow(FOLLOW_rule__Ask__Group__0_in_ruleAsk814);
            rule__Ask__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getAskAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleAsk"


    // $ANTLR start "entryRuleSend"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:424:1: entryRuleSend : ruleSend EOF ;
    public final void entryRuleSend() throws RecognitionException {
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:425:1: ( ruleSend EOF )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:426:1: ruleSend EOF
            {
             before(grammarAccess.getSendRule()); 
            pushFollow(FOLLOW_ruleSend_in_entryRuleSend841);
            ruleSend();

            state._fsp--;

             after(grammarAccess.getSendRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleSend848); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleSend"


    // $ANTLR start "ruleSend"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:433:1: ruleSend : ( ( rule__Send__Group__0 ) ) ;
    public final void ruleSend() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:437:2: ( ( ( rule__Send__Group__0 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:438:1: ( ( rule__Send__Group__0 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:438:1: ( ( rule__Send__Group__0 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:439:1: ( rule__Send__Group__0 )
            {
             before(grammarAccess.getSendAccess().getGroup()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:440:1: ( rule__Send__Group__0 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:440:2: rule__Send__Group__0
            {
            pushFollow(FOLLOW_rule__Send__Group__0_in_ruleSend874);
            rule__Send__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getSendAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleSend"


    // $ANTLR start "entryRuleSay"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:452:1: entryRuleSay : ruleSay EOF ;
    public final void entryRuleSay() throws RecognitionException {
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:453:1: ( ruleSay EOF )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:454:1: ruleSay EOF
            {
             before(grammarAccess.getSayRule()); 
            pushFollow(FOLLOW_ruleSay_in_entryRuleSay901);
            ruleSay();

            state._fsp--;

             after(grammarAccess.getSayRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleSay908); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleSay"


    // $ANTLR start "ruleSay"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:461:1: ruleSay : ( ( rule__Say__Group__0 ) ) ;
    public final void ruleSay() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:465:2: ( ( ( rule__Say__Group__0 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:466:1: ( ( rule__Say__Group__0 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:466:1: ( ( rule__Say__Group__0 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:467:1: ( rule__Say__Group__0 )
            {
             before(grammarAccess.getSayAccess().getGroup()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:468:1: ( rule__Say__Group__0 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:468:2: rule__Say__Group__0
            {
            pushFollow(FOLLOW_rule__Say__Group__0_in_ruleSay934);
            rule__Say__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getSayAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleSay"


    // $ANTLR start "entryRuleTransition"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:480:1: entryRuleTransition : ruleTransition EOF ;
    public final void entryRuleTransition() throws RecognitionException {
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:481:1: ( ruleTransition EOF )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:482:1: ruleTransition EOF
            {
             before(grammarAccess.getTransitionRule()); 
            pushFollow(FOLLOW_ruleTransition_in_entryRuleTransition961);
            ruleTransition();

            state._fsp--;

             after(grammarAccess.getTransitionRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleTransition968); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleTransition"


    // $ANTLR start "ruleTransition"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:489:1: ruleTransition : ( ( rule__Transition__Group__0 ) ) ;
    public final void ruleTransition() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:493:2: ( ( ( rule__Transition__Group__0 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:494:1: ( ( rule__Transition__Group__0 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:494:1: ( ( rule__Transition__Group__0 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:495:1: ( rule__Transition__Group__0 )
            {
             before(grammarAccess.getTransitionAccess().getGroup()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:496:1: ( rule__Transition__Group__0 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:496:2: rule__Transition__Group__0
            {
            pushFollow(FOLLOW_rule__Transition__Group__0_in_ruleTransition994);
            rule__Transition__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getTransitionAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleTransition"


    // $ANTLR start "entryRuleIfExp"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:508:1: entryRuleIfExp : ruleIfExp EOF ;
    public final void entryRuleIfExp() throws RecognitionException {
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:509:1: ( ruleIfExp EOF )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:510:1: ruleIfExp EOF
            {
             before(grammarAccess.getIfExpRule()); 
            pushFollow(FOLLOW_ruleIfExp_in_entryRuleIfExp1021);
            ruleIfExp();

            state._fsp--;

             after(grammarAccess.getIfExpRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleIfExp1028); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleIfExp"


    // $ANTLR start "ruleIfExp"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:517:1: ruleIfExp : ( ( rule__IfExp__Group__0 ) ) ;
    public final void ruleIfExp() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:521:2: ( ( ( rule__IfExp__Group__0 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:522:1: ( ( rule__IfExp__Group__0 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:522:1: ( ( rule__IfExp__Group__0 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:523:1: ( rule__IfExp__Group__0 )
            {
             before(grammarAccess.getIfExpAccess().getGroup()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:524:1: ( rule__IfExp__Group__0 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:524:2: rule__IfExp__Group__0
            {
            pushFollow(FOLLOW_rule__IfExp__Group__0_in_ruleIfExp1054);
            rule__IfExp__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getIfExpAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleIfExp"


    // $ANTLR start "entryRuleBlock"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:536:1: entryRuleBlock : ruleBlock EOF ;
    public final void entryRuleBlock() throws RecognitionException {
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:537:1: ( ruleBlock EOF )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:538:1: ruleBlock EOF
            {
             before(grammarAccess.getBlockRule()); 
            pushFollow(FOLLOW_ruleBlock_in_entryRuleBlock1081);
            ruleBlock();

            state._fsp--;

             after(grammarAccess.getBlockRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleBlock1088); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleBlock"


    // $ANTLR start "ruleBlock"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:545:1: ruleBlock : ( ( rule__Block__Group__0 ) ) ;
    public final void ruleBlock() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:549:2: ( ( ( rule__Block__Group__0 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:550:1: ( ( rule__Block__Group__0 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:550:1: ( ( rule__Block__Group__0 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:551:1: ( rule__Block__Group__0 )
            {
             before(grammarAccess.getBlockAccess().getGroup()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:552:1: ( rule__Block__Group__0 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:552:2: rule__Block__Group__0
            {
            pushFollow(FOLLOW_rule__Block__Group__0_in_ruleBlock1114);
            rule__Block__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getBlockAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleBlock"


    // $ANTLR start "entryRuleCondBlock"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:564:1: entryRuleCondBlock : ruleCondBlock EOF ;
    public final void entryRuleCondBlock() throws RecognitionException {
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:565:1: ( ruleCondBlock EOF )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:566:1: ruleCondBlock EOF
            {
             before(grammarAccess.getCondBlockRule()); 
            pushFollow(FOLLOW_ruleCondBlock_in_entryRuleCondBlock1141);
            ruleCondBlock();

            state._fsp--;

             after(grammarAccess.getCondBlockRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleCondBlock1148); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleCondBlock"


    // $ANTLR start "ruleCondBlock"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:573:1: ruleCondBlock : ( ( rule__CondBlock__Group__0 ) ) ;
    public final void ruleCondBlock() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:577:2: ( ( ( rule__CondBlock__Group__0 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:578:1: ( ( rule__CondBlock__Group__0 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:578:1: ( ( rule__CondBlock__Group__0 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:579:1: ( rule__CondBlock__Group__0 )
            {
             before(grammarAccess.getCondBlockAccess().getGroup()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:580:1: ( rule__CondBlock__Group__0 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:580:2: rule__CondBlock__Group__0
            {
            pushFollow(FOLLOW_rule__CondBlock__Group__0_in_ruleCondBlock1174);
            rule__CondBlock__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getCondBlockAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleCondBlock"


    // $ANTLR start "entryRuleIfStateExp"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:592:1: entryRuleIfStateExp : ruleIfStateExp EOF ;
    public final void entryRuleIfStateExp() throws RecognitionException {
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:593:1: ( ruleIfStateExp EOF )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:594:1: ruleIfStateExp EOF
            {
             before(grammarAccess.getIfStateExpRule()); 
            pushFollow(FOLLOW_ruleIfStateExp_in_entryRuleIfStateExp1201);
            ruleIfStateExp();

            state._fsp--;

             after(grammarAccess.getIfStateExpRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleIfStateExp1208); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleIfStateExp"


    // $ANTLR start "ruleIfStateExp"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:601:1: ruleIfStateExp : ( ( rule__IfStateExp__Group__0 ) ) ;
    public final void ruleIfStateExp() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:605:2: ( ( ( rule__IfStateExp__Group__0 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:606:1: ( ( rule__IfStateExp__Group__0 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:606:1: ( ( rule__IfStateExp__Group__0 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:607:1: ( rule__IfStateExp__Group__0 )
            {
             before(grammarAccess.getIfStateExpAccess().getGroup()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:608:1: ( rule__IfStateExp__Group__0 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:608:2: rule__IfStateExp__Group__0
            {
            pushFollow(FOLLOW_rule__IfStateExp__Group__0_in_ruleIfStateExp1234);
            rule__IfStateExp__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getIfStateExpAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleIfStateExp"


    // $ANTLR start "entryRuleCondStateBlock"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:620:1: entryRuleCondStateBlock : ruleCondStateBlock EOF ;
    public final void entryRuleCondStateBlock() throws RecognitionException {
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:621:1: ( ruleCondStateBlock EOF )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:622:1: ruleCondStateBlock EOF
            {
             before(grammarAccess.getCondStateBlockRule()); 
            pushFollow(FOLLOW_ruleCondStateBlock_in_entryRuleCondStateBlock1261);
            ruleCondStateBlock();

            state._fsp--;

             after(grammarAccess.getCondStateBlockRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleCondStateBlock1268); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleCondStateBlock"


    // $ANTLR start "ruleCondStateBlock"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:629:1: ruleCondStateBlock : ( ( rule__CondStateBlock__Group__0 ) ) ;
    public final void ruleCondStateBlock() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:633:2: ( ( ( rule__CondStateBlock__Group__0 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:634:1: ( ( rule__CondStateBlock__Group__0 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:634:1: ( ( rule__CondStateBlock__Group__0 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:635:1: ( rule__CondStateBlock__Group__0 )
            {
             before(grammarAccess.getCondStateBlockAccess().getGroup()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:636:1: ( rule__CondStateBlock__Group__0 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:636:2: rule__CondStateBlock__Group__0
            {
            pushFollow(FOLLOW_rule__CondStateBlock__Group__0_in_ruleCondStateBlock1294);
            rule__CondStateBlock__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getCondStateBlockAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleCondStateBlock"


    // $ANTLR start "entryRuleBlockState"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:648:1: entryRuleBlockState : ruleBlockState EOF ;
    public final void entryRuleBlockState() throws RecognitionException {
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:649:1: ( ruleBlockState EOF )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:650:1: ruleBlockState EOF
            {
             before(grammarAccess.getBlockStateRule()); 
            pushFollow(FOLLOW_ruleBlockState_in_entryRuleBlockState1321);
            ruleBlockState();

            state._fsp--;

             after(grammarAccess.getBlockStateRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleBlockState1328); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleBlockState"


    // $ANTLR start "ruleBlockState"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:657:1: ruleBlockState : ( ( rule__BlockState__Group__0 ) ) ;
    public final void ruleBlockState() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:661:2: ( ( ( rule__BlockState__Group__0 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:662:1: ( ( rule__BlockState__Group__0 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:662:1: ( ( rule__BlockState__Group__0 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:663:1: ( rule__BlockState__Group__0 )
            {
             before(grammarAccess.getBlockStateAccess().getGroup()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:664:1: ( rule__BlockState__Group__0 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:664:2: rule__BlockState__Group__0
            {
            pushFollow(FOLLOW_rule__BlockState__Group__0_in_ruleBlockState1354);
            rule__BlockState__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getBlockStateAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleBlockState"


    // $ANTLR start "entryRuleBoolExpression"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:676:1: entryRuleBoolExpression : ruleBoolExpression EOF ;
    public final void entryRuleBoolExpression() throws RecognitionException {
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:677:1: ( ruleBoolExpression EOF )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:678:1: ruleBoolExpression EOF
            {
             before(grammarAccess.getBoolExpressionRule()); 
            pushFollow(FOLLOW_ruleBoolExpression_in_entryRuleBoolExpression1381);
            ruleBoolExpression();

            state._fsp--;

             after(grammarAccess.getBoolExpressionRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleBoolExpression1388); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleBoolExpression"


    // $ANTLR start "ruleBoolExpression"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:685:1: ruleBoolExpression : ( ( rule__BoolExpression__Group__0 ) ) ;
    public final void ruleBoolExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:689:2: ( ( ( rule__BoolExpression__Group__0 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:690:1: ( ( rule__BoolExpression__Group__0 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:690:1: ( ( rule__BoolExpression__Group__0 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:691:1: ( rule__BoolExpression__Group__0 )
            {
             before(grammarAccess.getBoolExpressionAccess().getGroup()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:692:1: ( rule__BoolExpression__Group__0 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:692:2: rule__BoolExpression__Group__0
            {
            pushFollow(FOLLOW_rule__BoolExpression__Group__0_in_ruleBoolExpression1414);
            rule__BoolExpression__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getBoolExpressionAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleBoolExpression"


    // $ANTLR start "entryRuleTerminalBoolExpression"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:704:1: entryRuleTerminalBoolExpression : ruleTerminalBoolExpression EOF ;
    public final void entryRuleTerminalBoolExpression() throws RecognitionException {
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:705:1: ( ruleTerminalBoolExpression EOF )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:706:1: ruleTerminalBoolExpression EOF
            {
             before(grammarAccess.getTerminalBoolExpressionRule()); 
            pushFollow(FOLLOW_ruleTerminalBoolExpression_in_entryRuleTerminalBoolExpression1441);
            ruleTerminalBoolExpression();

            state._fsp--;

             after(grammarAccess.getTerminalBoolExpressionRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleTerminalBoolExpression1448); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleTerminalBoolExpression"


    // $ANTLR start "ruleTerminalBoolExpression"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:713:1: ruleTerminalBoolExpression : ( ( rule__TerminalBoolExpression__Alternatives ) ) ;
    public final void ruleTerminalBoolExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:717:2: ( ( ( rule__TerminalBoolExpression__Alternatives ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:718:1: ( ( rule__TerminalBoolExpression__Alternatives ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:718:1: ( ( rule__TerminalBoolExpression__Alternatives ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:719:1: ( rule__TerminalBoolExpression__Alternatives )
            {
             before(grammarAccess.getTerminalBoolExpressionAccess().getAlternatives()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:720:1: ( rule__TerminalBoolExpression__Alternatives )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:720:2: rule__TerminalBoolExpression__Alternatives
            {
            pushFollow(FOLLOW_rule__TerminalBoolExpression__Alternatives_in_ruleTerminalBoolExpression1474);
            rule__TerminalBoolExpression__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getTerminalBoolExpressionAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleTerminalBoolExpression"


    // $ANTLR start "entryRuleCompareExpression"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:732:1: entryRuleCompareExpression : ruleCompareExpression EOF ;
    public final void entryRuleCompareExpression() throws RecognitionException {
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:733:1: ( ruleCompareExpression EOF )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:734:1: ruleCompareExpression EOF
            {
             before(grammarAccess.getCompareExpressionRule()); 
            pushFollow(FOLLOW_ruleCompareExpression_in_entryRuleCompareExpression1501);
            ruleCompareExpression();

            state._fsp--;

             after(grammarAccess.getCompareExpressionRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleCompareExpression1508); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleCompareExpression"


    // $ANTLR start "ruleCompareExpression"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:741:1: ruleCompareExpression : ( ( rule__CompareExpression__Group__0 ) ) ;
    public final void ruleCompareExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:745:2: ( ( ( rule__CompareExpression__Group__0 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:746:1: ( ( rule__CompareExpression__Group__0 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:746:1: ( ( rule__CompareExpression__Group__0 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:747:1: ( rule__CompareExpression__Group__0 )
            {
             before(grammarAccess.getCompareExpressionAccess().getGroup()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:748:1: ( rule__CompareExpression__Group__0 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:748:2: rule__CompareExpression__Group__0
            {
            pushFollow(FOLLOW_rule__CompareExpression__Group__0_in_ruleCompareExpression1534);
            rule__CompareExpression__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getCompareExpressionAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleCompareExpression"


    // $ANTLR start "entryRuleNegExpression"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:760:1: entryRuleNegExpression : ruleNegExpression EOF ;
    public final void entryRuleNegExpression() throws RecognitionException {
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:761:1: ( ruleNegExpression EOF )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:762:1: ruleNegExpression EOF
            {
             before(grammarAccess.getNegExpressionRule()); 
            pushFollow(FOLLOW_ruleNegExpression_in_entryRuleNegExpression1561);
            ruleNegExpression();

            state._fsp--;

             after(grammarAccess.getNegExpressionRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleNegExpression1568); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleNegExpression"


    // $ANTLR start "ruleNegExpression"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:769:1: ruleNegExpression : ( ( rule__NegExpression__Group__0 ) ) ;
    public final void ruleNegExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:773:2: ( ( ( rule__NegExpression__Group__0 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:774:1: ( ( rule__NegExpression__Group__0 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:774:1: ( ( rule__NegExpression__Group__0 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:775:1: ( rule__NegExpression__Group__0 )
            {
             before(grammarAccess.getNegExpressionAccess().getGroup()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:776:1: ( rule__NegExpression__Group__0 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:776:2: rule__NegExpression__Group__0
            {
            pushFollow(FOLLOW_rule__NegExpression__Group__0_in_ruleNegExpression1594);
            rule__NegExpression__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getNegExpressionAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleNegExpression"


    // $ANTLR start "entryRuleMathExpression"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:788:1: entryRuleMathExpression : ruleMathExpression EOF ;
    public final void entryRuleMathExpression() throws RecognitionException {
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:789:1: ( ruleMathExpression EOF )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:790:1: ruleMathExpression EOF
            {
             before(grammarAccess.getMathExpressionRule()); 
            pushFollow(FOLLOW_ruleMathExpression_in_entryRuleMathExpression1621);
            ruleMathExpression();

            state._fsp--;

             after(grammarAccess.getMathExpressionRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleMathExpression1628); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleMathExpression"


    // $ANTLR start "ruleMathExpression"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:797:1: ruleMathExpression : ( ( rule__MathExpression__Group__0 ) ) ;
    public final void ruleMathExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:801:2: ( ( ( rule__MathExpression__Group__0 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:802:1: ( ( rule__MathExpression__Group__0 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:802:1: ( ( rule__MathExpression__Group__0 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:803:1: ( rule__MathExpression__Group__0 )
            {
             before(grammarAccess.getMathExpressionAccess().getGroup()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:804:1: ( rule__MathExpression__Group__0 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:804:2: rule__MathExpression__Group__0
            {
            pushFollow(FOLLOW_rule__MathExpression__Group__0_in_ruleMathExpression1654);
            rule__MathExpression__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getMathExpressionAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleMathExpression"


    // $ANTLR start "entryRuleMathTerminal"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:816:1: entryRuleMathTerminal : ruleMathTerminal EOF ;
    public final void entryRuleMathTerminal() throws RecognitionException {
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:817:1: ( ruleMathTerminal EOF )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:818:1: ruleMathTerminal EOF
            {
             before(grammarAccess.getMathTerminalRule()); 
            pushFollow(FOLLOW_ruleMathTerminal_in_entryRuleMathTerminal1681);
            ruleMathTerminal();

            state._fsp--;

             after(grammarAccess.getMathTerminalRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleMathTerminal1688); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleMathTerminal"


    // $ANTLR start "ruleMathTerminal"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:825:1: ruleMathTerminal : ( ( rule__MathTerminal__Alternatives ) ) ;
    public final void ruleMathTerminal() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:829:2: ( ( ( rule__MathTerminal__Alternatives ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:830:1: ( ( rule__MathTerminal__Alternatives ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:830:1: ( ( rule__MathTerminal__Alternatives ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:831:1: ( rule__MathTerminal__Alternatives )
            {
             before(grammarAccess.getMathTerminalAccess().getAlternatives()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:832:1: ( rule__MathTerminal__Alternatives )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:832:2: rule__MathTerminal__Alternatives
            {
            pushFollow(FOLLOW_rule__MathTerminal__Alternatives_in_ruleMathTerminal1714);
            rule__MathTerminal__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getMathTerminalAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleMathTerminal"


    // $ANTLR start "entryRuleConcatenationExpression"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:844:1: entryRuleConcatenationExpression : ruleConcatenationExpression EOF ;
    public final void entryRuleConcatenationExpression() throws RecognitionException {
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:845:1: ( ruleConcatenationExpression EOF )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:846:1: ruleConcatenationExpression EOF
            {
             before(grammarAccess.getConcatenationExpressionRule()); 
            pushFollow(FOLLOW_ruleConcatenationExpression_in_entryRuleConcatenationExpression1741);
            ruleConcatenationExpression();

            state._fsp--;

             after(grammarAccess.getConcatenationExpressionRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleConcatenationExpression1748); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleConcatenationExpression"


    // $ANTLR start "ruleConcatenationExpression"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:853:1: ruleConcatenationExpression : ( ( rule__ConcatenationExpression__Group__0 ) ) ;
    public final void ruleConcatenationExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:857:2: ( ( ( rule__ConcatenationExpression__Group__0 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:858:1: ( ( rule__ConcatenationExpression__Group__0 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:858:1: ( ( rule__ConcatenationExpression__Group__0 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:859:1: ( rule__ConcatenationExpression__Group__0 )
            {
             before(grammarAccess.getConcatenationExpressionAccess().getGroup()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:860:1: ( rule__ConcatenationExpression__Group__0 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:860:2: rule__ConcatenationExpression__Group__0
            {
            pushFollow(FOLLOW_rule__ConcatenationExpression__Group__0_in_ruleConcatenationExpression1774);
            rule__ConcatenationExpression__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getConcatenationExpressionAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleConcatenationExpression"


    // $ANTLR start "entryRuleConcatenationTerminal"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:872:1: entryRuleConcatenationTerminal : ruleConcatenationTerminal EOF ;
    public final void entryRuleConcatenationTerminal() throws RecognitionException {
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:873:1: ( ruleConcatenationTerminal EOF )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:874:1: ruleConcatenationTerminal EOF
            {
             before(grammarAccess.getConcatenationTerminalRule()); 
            pushFollow(FOLLOW_ruleConcatenationTerminal_in_entryRuleConcatenationTerminal1801);
            ruleConcatenationTerminal();

            state._fsp--;

             after(grammarAccess.getConcatenationTerminalRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleConcatenationTerminal1808); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleConcatenationTerminal"


    // $ANTLR start "ruleConcatenationTerminal"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:881:1: ruleConcatenationTerminal : ( ( rule__ConcatenationTerminal__Alternatives ) ) ;
    public final void ruleConcatenationTerminal() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:885:2: ( ( ( rule__ConcatenationTerminal__Alternatives ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:886:1: ( ( rule__ConcatenationTerminal__Alternatives ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:886:1: ( ( rule__ConcatenationTerminal__Alternatives ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:887:1: ( rule__ConcatenationTerminal__Alternatives )
            {
             before(grammarAccess.getConcatenationTerminalAccess().getAlternatives()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:888:1: ( rule__ConcatenationTerminal__Alternatives )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:888:2: rule__ConcatenationTerminal__Alternatives
            {
            pushFollow(FOLLOW_rule__ConcatenationTerminal__Alternatives_in_ruleConcatenationTerminal1834);
            rule__ConcatenationTerminal__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getConcatenationTerminalAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleConcatenationTerminal"


    // $ANTLR start "entryRuleStringVariable"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:900:1: entryRuleStringVariable : ruleStringVariable EOF ;
    public final void entryRuleStringVariable() throws RecognitionException {
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:901:1: ( ruleStringVariable EOF )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:902:1: ruleStringVariable EOF
            {
             before(grammarAccess.getStringVariableRule()); 
            pushFollow(FOLLOW_ruleStringVariable_in_entryRuleStringVariable1861);
            ruleStringVariable();

            state._fsp--;

             after(grammarAccess.getStringVariableRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleStringVariable1868); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleStringVariable"


    // $ANTLR start "ruleStringVariable"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:909:1: ruleStringVariable : ( ( rule__StringVariable__Group__0 ) ) ;
    public final void ruleStringVariable() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:913:2: ( ( ( rule__StringVariable__Group__0 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:914:1: ( ( rule__StringVariable__Group__0 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:914:1: ( ( rule__StringVariable__Group__0 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:915:1: ( rule__StringVariable__Group__0 )
            {
             before(grammarAccess.getStringVariableAccess().getGroup()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:916:1: ( rule__StringVariable__Group__0 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:916:2: rule__StringVariable__Group__0
            {
            pushFollow(FOLLOW_rule__StringVariable__Group__0_in_ruleStringVariable1894);
            rule__StringVariable__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getStringVariableAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleStringVariable"


    // $ANTLR start "entryRuleNumVariable"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:928:1: entryRuleNumVariable : ruleNumVariable EOF ;
    public final void entryRuleNumVariable() throws RecognitionException {
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:929:1: ( ruleNumVariable EOF )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:930:1: ruleNumVariable EOF
            {
             before(grammarAccess.getNumVariableRule()); 
            pushFollow(FOLLOW_ruleNumVariable_in_entryRuleNumVariable1921);
            ruleNumVariable();

            state._fsp--;

             after(grammarAccess.getNumVariableRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleNumVariable1928); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleNumVariable"


    // $ANTLR start "ruleNumVariable"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:937:1: ruleNumVariable : ( ( rule__NumVariable__Group__0 ) ) ;
    public final void ruleNumVariable() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:941:2: ( ( ( rule__NumVariable__Group__0 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:942:1: ( ( rule__NumVariable__Group__0 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:942:1: ( ( rule__NumVariable__Group__0 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:943:1: ( rule__NumVariable__Group__0 )
            {
             before(grammarAccess.getNumVariableAccess().getGroup()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:944:1: ( rule__NumVariable__Group__0 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:944:2: rule__NumVariable__Group__0
            {
            pushFollow(FOLLOW_rule__NumVariable__Group__0_in_ruleNumVariable1954);
            rule__NumVariable__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getNumVariableAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleNumVariable"


    // $ANTLR start "entryRuleBoolVariable"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:956:1: entryRuleBoolVariable : ruleBoolVariable EOF ;
    public final void entryRuleBoolVariable() throws RecognitionException {
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:957:1: ( ruleBoolVariable EOF )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:958:1: ruleBoolVariable EOF
            {
             before(grammarAccess.getBoolVariableRule()); 
            pushFollow(FOLLOW_ruleBoolVariable_in_entryRuleBoolVariable1981);
            ruleBoolVariable();

            state._fsp--;

             after(grammarAccess.getBoolVariableRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleBoolVariable1988); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleBoolVariable"


    // $ANTLR start "ruleBoolVariable"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:965:1: ruleBoolVariable : ( ( rule__BoolVariable__Group__0 ) ) ;
    public final void ruleBoolVariable() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:969:2: ( ( ( rule__BoolVariable__Group__0 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:970:1: ( ( rule__BoolVariable__Group__0 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:970:1: ( ( rule__BoolVariable__Group__0 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:971:1: ( rule__BoolVariable__Group__0 )
            {
             before(grammarAccess.getBoolVariableAccess().getGroup()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:972:1: ( rule__BoolVariable__Group__0 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:972:2: rule__BoolVariable__Group__0
            {
            pushFollow(FOLLOW_rule__BoolVariable__Group__0_in_ruleBoolVariable2014);
            rule__BoolVariable__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getBoolVariableAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleBoolVariable"


    // $ANTLR start "entryRuleAssigment"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:984:1: entryRuleAssigment : ruleAssigment EOF ;
    public final void entryRuleAssigment() throws RecognitionException {
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:985:1: ( ruleAssigment EOF )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:986:1: ruleAssigment EOF
            {
             before(grammarAccess.getAssigmentRule()); 
            pushFollow(FOLLOW_ruleAssigment_in_entryRuleAssigment2041);
            ruleAssigment();

            state._fsp--;

             after(grammarAccess.getAssigmentRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleAssigment2048); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleAssigment"


    // $ANTLR start "ruleAssigment"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:993:1: ruleAssigment : ( ( rule__Assigment__Group__0 ) ) ;
    public final void ruleAssigment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:997:2: ( ( ( rule__Assigment__Group__0 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:998:1: ( ( rule__Assigment__Group__0 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:998:1: ( ( rule__Assigment__Group__0 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:999:1: ( rule__Assigment__Group__0 )
            {
             before(grammarAccess.getAssigmentAccess().getGroup()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1000:1: ( rule__Assigment__Group__0 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1000:2: rule__Assigment__Group__0
            {
            pushFollow(FOLLOW_rule__Assigment__Group__0_in_ruleAssigment2074);
            rule__Assigment__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getAssigmentAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleAssigment"


    // $ANTLR start "entryRuleLiteralAbs"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1014:1: entryRuleLiteralAbs : ruleLiteralAbs EOF ;
    public final void entryRuleLiteralAbs() throws RecognitionException {
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1015:1: ( ruleLiteralAbs EOF )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1016:1: ruleLiteralAbs EOF
            {
             before(grammarAccess.getLiteralAbsRule()); 
            pushFollow(FOLLOW_ruleLiteralAbs_in_entryRuleLiteralAbs2103);
            ruleLiteralAbs();

            state._fsp--;

             after(grammarAccess.getLiteralAbsRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleLiteralAbs2110); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleLiteralAbs"


    // $ANTLR start "ruleLiteralAbs"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1023:1: ruleLiteralAbs : ( ( rule__LiteralAbs__Alternatives ) ) ;
    public final void ruleLiteralAbs() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1027:2: ( ( ( rule__LiteralAbs__Alternatives ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1028:1: ( ( rule__LiteralAbs__Alternatives ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1028:1: ( ( rule__LiteralAbs__Alternatives ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1029:1: ( rule__LiteralAbs__Alternatives )
            {
             before(grammarAccess.getLiteralAbsAccess().getAlternatives()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1030:1: ( rule__LiteralAbs__Alternatives )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1030:2: rule__LiteralAbs__Alternatives
            {
            pushFollow(FOLLOW_rule__LiteralAbs__Alternatives_in_ruleLiteralAbs2136);
            rule__LiteralAbs__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getLiteralAbsAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleLiteralAbs"


    // $ANTLR start "entryRuleLiteral"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1042:1: entryRuleLiteral : ruleLiteral EOF ;
    public final void entryRuleLiteral() throws RecognitionException {
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1043:1: ( ruleLiteral EOF )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1044:1: ruleLiteral EOF
            {
             before(grammarAccess.getLiteralRule()); 
            pushFollow(FOLLOW_ruleLiteral_in_entryRuleLiteral2163);
            ruleLiteral();

            state._fsp--;

             after(grammarAccess.getLiteralRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleLiteral2170); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleLiteral"


    // $ANTLR start "ruleLiteral"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1051:1: ruleLiteral : ( ( rule__Literal__Alternatives ) ) ;
    public final void ruleLiteral() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1055:2: ( ( ( rule__Literal__Alternatives ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1056:1: ( ( rule__Literal__Alternatives ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1056:1: ( ( rule__Literal__Alternatives ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1057:1: ( rule__Literal__Alternatives )
            {
             before(grammarAccess.getLiteralAccess().getAlternatives()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1058:1: ( rule__Literal__Alternatives )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1058:2: rule__Literal__Alternatives
            {
            pushFollow(FOLLOW_rule__Literal__Alternatives_in_ruleLiteral2196);
            rule__Literal__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getLiteralAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleLiteral"


    // $ANTLR start "entryRuleBoolLiteral"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1070:1: entryRuleBoolLiteral : ruleBoolLiteral EOF ;
    public final void entryRuleBoolLiteral() throws RecognitionException {
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1071:1: ( ruleBoolLiteral EOF )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1072:1: ruleBoolLiteral EOF
            {
             before(grammarAccess.getBoolLiteralRule()); 
            pushFollow(FOLLOW_ruleBoolLiteral_in_entryRuleBoolLiteral2223);
            ruleBoolLiteral();

            state._fsp--;

             after(grammarAccess.getBoolLiteralRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleBoolLiteral2230); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleBoolLiteral"


    // $ANTLR start "ruleBoolLiteral"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1079:1: ruleBoolLiteral : ( ( rule__BoolLiteral__Group__0 ) ) ;
    public final void ruleBoolLiteral() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1083:2: ( ( ( rule__BoolLiteral__Group__0 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1084:1: ( ( rule__BoolLiteral__Group__0 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1084:1: ( ( rule__BoolLiteral__Group__0 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1085:1: ( rule__BoolLiteral__Group__0 )
            {
             before(grammarAccess.getBoolLiteralAccess().getGroup()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1086:1: ( rule__BoolLiteral__Group__0 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1086:2: rule__BoolLiteral__Group__0
            {
            pushFollow(FOLLOW_rule__BoolLiteral__Group__0_in_ruleBoolLiteral2256);
            rule__BoolLiteral__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getBoolLiteralAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleBoolLiteral"


    // $ANTLR start "entryRuleNumLiteral"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1098:1: entryRuleNumLiteral : ruleNumLiteral EOF ;
    public final void entryRuleNumLiteral() throws RecognitionException {
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1099:1: ( ruleNumLiteral EOF )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1100:1: ruleNumLiteral EOF
            {
             before(grammarAccess.getNumLiteralRule()); 
            pushFollow(FOLLOW_ruleNumLiteral_in_entryRuleNumLiteral2283);
            ruleNumLiteral();

            state._fsp--;

             after(grammarAccess.getNumLiteralRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleNumLiteral2290); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleNumLiteral"


    // $ANTLR start "ruleNumLiteral"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1107:1: ruleNumLiteral : ( ( rule__NumLiteral__Group__0 ) ) ;
    public final void ruleNumLiteral() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1111:2: ( ( ( rule__NumLiteral__Group__0 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1112:1: ( ( rule__NumLiteral__Group__0 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1112:1: ( ( rule__NumLiteral__Group__0 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1113:1: ( rule__NumLiteral__Group__0 )
            {
             before(grammarAccess.getNumLiteralAccess().getGroup()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1114:1: ( rule__NumLiteral__Group__0 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1114:2: rule__NumLiteral__Group__0
            {
            pushFollow(FOLLOW_rule__NumLiteral__Group__0_in_ruleNumLiteral2316);
            rule__NumLiteral__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getNumLiteralAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleNumLiteral"


    // $ANTLR start "entryRuleStringLiteral"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1126:1: entryRuleStringLiteral : ruleStringLiteral EOF ;
    public final void entryRuleStringLiteral() throws RecognitionException {
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1127:1: ( ruleStringLiteral EOF )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1128:1: ruleStringLiteral EOF
            {
             before(grammarAccess.getStringLiteralRule()); 
            pushFollow(FOLLOW_ruleStringLiteral_in_entryRuleStringLiteral2343);
            ruleStringLiteral();

            state._fsp--;

             after(grammarAccess.getStringLiteralRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleStringLiteral2350); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleStringLiteral"


    // $ANTLR start "ruleStringLiteral"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1135:1: ruleStringLiteral : ( ( rule__StringLiteral__Group__0 ) ) ;
    public final void ruleStringLiteral() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1139:2: ( ( ( rule__StringLiteral__Group__0 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1140:1: ( ( rule__StringLiteral__Group__0 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1140:1: ( ( rule__StringLiteral__Group__0 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1141:1: ( rule__StringLiteral__Group__0 )
            {
             before(grammarAccess.getStringLiteralAccess().getGroup()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1142:1: ( rule__StringLiteral__Group__0 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1142:2: rule__StringLiteral__Group__0
            {
            pushFollow(FOLLOW_rule__StringLiteral__Group__0_in_ruleStringLiteral2376);
            rule__StringLiteral__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getStringLiteralAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleStringLiteral"


    // $ANTLR start "entryRuleSave"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1154:1: entryRuleSave : ruleSave EOF ;
    public final void entryRuleSave() throws RecognitionException {
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1155:1: ( ruleSave EOF )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1156:1: ruleSave EOF
            {
             before(grammarAccess.getSaveRule()); 
            pushFollow(FOLLOW_ruleSave_in_entryRuleSave2403);
            ruleSave();

            state._fsp--;

             after(grammarAccess.getSaveRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleSave2410); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleSave"


    // $ANTLR start "ruleSave"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1163:1: ruleSave : ( ( rule__Save__Group__0 ) ) ;
    public final void ruleSave() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1167:2: ( ( ( rule__Save__Group__0 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1168:1: ( ( rule__Save__Group__0 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1168:1: ( ( rule__Save__Group__0 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1169:1: ( rule__Save__Group__0 )
            {
             before(grammarAccess.getSaveAccess().getGroup()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1170:1: ( rule__Save__Group__0 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1170:2: rule__Save__Group__0
            {
            pushFollow(FOLLOW_rule__Save__Group__0_in_ruleSave2436);
            rule__Save__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getSaveAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleSave"


    // $ANTLR start "entryRuleNumber"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1182:1: entryRuleNumber : ruleNumber EOF ;
    public final void entryRuleNumber() throws RecognitionException {
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1183:1: ( ruleNumber EOF )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1184:1: ruleNumber EOF
            {
             before(grammarAccess.getNumberRule()); 
            pushFollow(FOLLOW_ruleNumber_in_entryRuleNumber2463);
            ruleNumber();

            state._fsp--;

             after(grammarAccess.getNumberRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleNumber2470); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleNumber"


    // $ANTLR start "ruleNumber"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1191:1: ruleNumber : ( ( rule__Number__Alternatives ) ) ;
    public final void ruleNumber() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1195:2: ( ( ( rule__Number__Alternatives ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1196:1: ( ( rule__Number__Alternatives ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1196:1: ( ( rule__Number__Alternatives ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1197:1: ( rule__Number__Alternatives )
            {
             before(grammarAccess.getNumberAccess().getAlternatives()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1198:1: ( rule__Number__Alternatives )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1198:2: rule__Number__Alternatives
            {
            pushFollow(FOLLOW_rule__Number__Alternatives_in_ruleNumber2496);
            rule__Number__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getNumberAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleNumber"


    // $ANTLR start "rule__AbstractElement__Alternatives"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1210:1: rule__AbstractElement__Alternatives : ( ( ruleStatement ) | ( ruleIfExp ) );
    public final void rule__AbstractElement__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1214:1: ( ( ruleStatement ) | ( ruleIfExp ) )
            int alt1=2;
            int LA1_0 = input.LA(1);

            if ( (LA1_0==RULE_ML_COMMENT||LA1_0==RULE_ID||LA1_0==27||(LA1_0>=29 && LA1_0<=30)||LA1_0==33||LA1_0==36||LA1_0==40||LA1_0==42||LA1_0==47||(LA1_0>=49 && LA1_0<=50)||(LA1_0>=53 && LA1_0<=54)) ) {
                alt1=1;
            }
            else if ( (LA1_0==46) ) {
                alt1=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 1, 0, input);

                throw nvae;
            }
            switch (alt1) {
                case 1 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1215:1: ( ruleStatement )
                    {
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1215:1: ( ruleStatement )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1216:1: ruleStatement
                    {
                     before(grammarAccess.getAbstractElementAccess().getStatementParserRuleCall_0()); 
                    pushFollow(FOLLOW_ruleStatement_in_rule__AbstractElement__Alternatives2532);
                    ruleStatement();

                    state._fsp--;

                     after(grammarAccess.getAbstractElementAccess().getStatementParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1221:6: ( ruleIfExp )
                    {
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1221:6: ( ruleIfExp )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1222:1: ruleIfExp
                    {
                     before(grammarAccess.getAbstractElementAccess().getIfExpParserRuleCall_1()); 
                    pushFollow(FOLLOW_ruleIfExp_in_rule__AbstractElement__Alternatives2549);
                    ruleIfExp();

                    state._fsp--;

                     after(grammarAccess.getAbstractElementAccess().getIfExpParserRuleCall_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AbstractElement__Alternatives"


    // $ANTLR start "rule__Statement__Alternatives"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1232:1: rule__Statement__Alternatives : ( ( ruleNumVariable ) | ( ruleStringVariable ) | ( ruleBoolVariable ) | ( ruleVoiceTag ) | ( ruleAssigment ) | ( RULE_ML_COMMENT ) );
    public final void rule__Statement__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1236:1: ( ( ruleNumVariable ) | ( ruleStringVariable ) | ( ruleBoolVariable ) | ( ruleVoiceTag ) | ( ruleAssigment ) | ( RULE_ML_COMMENT ) )
            int alt2=6;
            switch ( input.LA(1) ) {
            case 49:
                {
                alt2=1;
                }
                break;
            case 47:
                {
                alt2=2;
                }
                break;
            case 50:
                {
                alt2=3;
                }
                break;
            case 27:
            case 29:
            case 30:
            case 33:
            case 36:
            case 40:
            case 42:
            case 53:
            case 54:
                {
                alt2=4;
                }
                break;
            case RULE_ID:
                {
                alt2=5;
                }
                break;
            case RULE_ML_COMMENT:
                {
                alt2=6;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 2, 0, input);

                throw nvae;
            }

            switch (alt2) {
                case 1 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1237:1: ( ruleNumVariable )
                    {
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1237:1: ( ruleNumVariable )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1238:1: ruleNumVariable
                    {
                     before(grammarAccess.getStatementAccess().getNumVariableParserRuleCall_0()); 
                    pushFollow(FOLLOW_ruleNumVariable_in_rule__Statement__Alternatives2581);
                    ruleNumVariable();

                    state._fsp--;

                     after(grammarAccess.getStatementAccess().getNumVariableParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1243:6: ( ruleStringVariable )
                    {
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1243:6: ( ruleStringVariable )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1244:1: ruleStringVariable
                    {
                     before(grammarAccess.getStatementAccess().getStringVariableParserRuleCall_1()); 
                    pushFollow(FOLLOW_ruleStringVariable_in_rule__Statement__Alternatives2598);
                    ruleStringVariable();

                    state._fsp--;

                     after(grammarAccess.getStatementAccess().getStringVariableParserRuleCall_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1249:6: ( ruleBoolVariable )
                    {
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1249:6: ( ruleBoolVariable )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1250:1: ruleBoolVariable
                    {
                     before(grammarAccess.getStatementAccess().getBoolVariableParserRuleCall_2()); 
                    pushFollow(FOLLOW_ruleBoolVariable_in_rule__Statement__Alternatives2615);
                    ruleBoolVariable();

                    state._fsp--;

                     after(grammarAccess.getStatementAccess().getBoolVariableParserRuleCall_2()); 

                    }


                    }
                    break;
                case 4 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1255:6: ( ruleVoiceTag )
                    {
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1255:6: ( ruleVoiceTag )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1256:1: ruleVoiceTag
                    {
                     before(grammarAccess.getStatementAccess().getVoiceTagParserRuleCall_3()); 
                    pushFollow(FOLLOW_ruleVoiceTag_in_rule__Statement__Alternatives2632);
                    ruleVoiceTag();

                    state._fsp--;

                     after(grammarAccess.getStatementAccess().getVoiceTagParserRuleCall_3()); 

                    }


                    }
                    break;
                case 5 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1261:6: ( ruleAssigment )
                    {
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1261:6: ( ruleAssigment )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1262:1: ruleAssigment
                    {
                     before(grammarAccess.getStatementAccess().getAssigmentParserRuleCall_4()); 
                    pushFollow(FOLLOW_ruleAssigment_in_rule__Statement__Alternatives2649);
                    ruleAssigment();

                    state._fsp--;

                     after(grammarAccess.getStatementAccess().getAssigmentParserRuleCall_4()); 

                    }


                    }
                    break;
                case 6 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1267:6: ( RULE_ML_COMMENT )
                    {
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1267:6: ( RULE_ML_COMMENT )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1268:1: RULE_ML_COMMENT
                    {
                     before(grammarAccess.getStatementAccess().getML_COMMENTTerminalRuleCall_5()); 
                    match(input,RULE_ML_COMMENT,FOLLOW_RULE_ML_COMMENT_in_rule__Statement__Alternatives2666); 
                     after(grammarAccess.getStatementAccess().getML_COMMENTTerminalRuleCall_5()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Statement__Alternatives"


    // $ANTLR start "rule__StateAbstractElement__Alternatives"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1278:1: rule__StateAbstractElement__Alternatives : ( ( ruleStatement ) | ( ruleSave ) | ( ruleTransition ) | ( ruleIfStateExp ) );
    public final void rule__StateAbstractElement__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1282:1: ( ( ruleStatement ) | ( ruleSave ) | ( ruleTransition ) | ( ruleIfStateExp ) )
            int alt3=4;
            switch ( input.LA(1) ) {
            case RULE_ML_COMMENT:
            case RULE_ID:
            case 27:
            case 29:
            case 30:
            case 33:
            case 36:
            case 40:
            case 42:
            case 47:
            case 49:
            case 50:
            case 53:
            case 54:
                {
                alt3=1;
                }
                break;
            case 51:
                {
                alt3=2;
                }
                break;
            case 43:
                {
                alt3=3;
                }
                break;
            case 46:
                {
                alt3=4;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 3, 0, input);

                throw nvae;
            }

            switch (alt3) {
                case 1 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1283:1: ( ruleStatement )
                    {
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1283:1: ( ruleStatement )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1284:1: ruleStatement
                    {
                     before(grammarAccess.getStateAbstractElementAccess().getStatementParserRuleCall_0()); 
                    pushFollow(FOLLOW_ruleStatement_in_rule__StateAbstractElement__Alternatives2698);
                    ruleStatement();

                    state._fsp--;

                     after(grammarAccess.getStateAbstractElementAccess().getStatementParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1289:6: ( ruleSave )
                    {
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1289:6: ( ruleSave )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1290:1: ruleSave
                    {
                     before(grammarAccess.getStateAbstractElementAccess().getSaveParserRuleCall_1()); 
                    pushFollow(FOLLOW_ruleSave_in_rule__StateAbstractElement__Alternatives2715);
                    ruleSave();

                    state._fsp--;

                     after(grammarAccess.getStateAbstractElementAccess().getSaveParserRuleCall_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1295:6: ( ruleTransition )
                    {
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1295:6: ( ruleTransition )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1296:1: ruleTransition
                    {
                     before(grammarAccess.getStateAbstractElementAccess().getTransitionParserRuleCall_2()); 
                    pushFollow(FOLLOW_ruleTransition_in_rule__StateAbstractElement__Alternatives2732);
                    ruleTransition();

                    state._fsp--;

                     after(grammarAccess.getStateAbstractElementAccess().getTransitionParserRuleCall_2()); 

                    }


                    }
                    break;
                case 4 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1301:6: ( ruleIfStateExp )
                    {
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1301:6: ( ruleIfStateExp )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1302:1: ruleIfStateExp
                    {
                     before(grammarAccess.getStateAbstractElementAccess().getIfStateExpParserRuleCall_3()); 
                    pushFollow(FOLLOW_ruleIfStateExp_in_rule__StateAbstractElement__Alternatives2749);
                    ruleIfStateExp();

                    state._fsp--;

                     after(grammarAccess.getStateAbstractElementAccess().getIfStateExpParserRuleCall_3()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StateAbstractElement__Alternatives"


    // $ANTLR start "rule__VoiceTag__Alternatives"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1312:1: rule__VoiceTag__Alternatives : ( ( ruleSay ) | ( ruleDial ) | ( rulePlay ) | ( ruleRecord ) | ( ruleGetDigits ) | ( ruleAsk ) | ( ruleSend ) | ( ruleReject ) | ( ruleHangup ) );
    public final void rule__VoiceTag__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1316:1: ( ( ruleSay ) | ( ruleDial ) | ( rulePlay ) | ( ruleRecord ) | ( ruleGetDigits ) | ( ruleAsk ) | ( ruleSend ) | ( ruleReject ) | ( ruleHangup ) )
            int alt4=9;
            switch ( input.LA(1) ) {
            case 42:
                {
                alt4=1;
                }
                break;
            case 27:
                {
                alt4=2;
                }
                break;
            case 29:
                {
                alt4=3;
                }
                break;
            case 30:
                {
                alt4=4;
                }
                break;
            case 33:
                {
                alt4=5;
                }
                break;
            case 36:
                {
                alt4=6;
                }
                break;
            case 40:
                {
                alt4=7;
                }
                break;
            case 53:
                {
                alt4=8;
                }
                break;
            case 54:
                {
                alt4=9;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 4, 0, input);

                throw nvae;
            }

            switch (alt4) {
                case 1 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1317:1: ( ruleSay )
                    {
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1317:1: ( ruleSay )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1318:1: ruleSay
                    {
                     before(grammarAccess.getVoiceTagAccess().getSayParserRuleCall_0()); 
                    pushFollow(FOLLOW_ruleSay_in_rule__VoiceTag__Alternatives2781);
                    ruleSay();

                    state._fsp--;

                     after(grammarAccess.getVoiceTagAccess().getSayParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1323:6: ( ruleDial )
                    {
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1323:6: ( ruleDial )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1324:1: ruleDial
                    {
                     before(grammarAccess.getVoiceTagAccess().getDialParserRuleCall_1()); 
                    pushFollow(FOLLOW_ruleDial_in_rule__VoiceTag__Alternatives2798);
                    ruleDial();

                    state._fsp--;

                     after(grammarAccess.getVoiceTagAccess().getDialParserRuleCall_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1329:6: ( rulePlay )
                    {
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1329:6: ( rulePlay )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1330:1: rulePlay
                    {
                     before(grammarAccess.getVoiceTagAccess().getPlayParserRuleCall_2()); 
                    pushFollow(FOLLOW_rulePlay_in_rule__VoiceTag__Alternatives2815);
                    rulePlay();

                    state._fsp--;

                     after(grammarAccess.getVoiceTagAccess().getPlayParserRuleCall_2()); 

                    }


                    }
                    break;
                case 4 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1335:6: ( ruleRecord )
                    {
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1335:6: ( ruleRecord )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1336:1: ruleRecord
                    {
                     before(grammarAccess.getVoiceTagAccess().getRecordParserRuleCall_3()); 
                    pushFollow(FOLLOW_ruleRecord_in_rule__VoiceTag__Alternatives2832);
                    ruleRecord();

                    state._fsp--;

                     after(grammarAccess.getVoiceTagAccess().getRecordParserRuleCall_3()); 

                    }


                    }
                    break;
                case 5 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1341:6: ( ruleGetDigits )
                    {
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1341:6: ( ruleGetDigits )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1342:1: ruleGetDigits
                    {
                     before(grammarAccess.getVoiceTagAccess().getGetDigitsParserRuleCall_4()); 
                    pushFollow(FOLLOW_ruleGetDigits_in_rule__VoiceTag__Alternatives2849);
                    ruleGetDigits();

                    state._fsp--;

                     after(grammarAccess.getVoiceTagAccess().getGetDigitsParserRuleCall_4()); 

                    }


                    }
                    break;
                case 6 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1347:6: ( ruleAsk )
                    {
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1347:6: ( ruleAsk )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1348:1: ruleAsk
                    {
                     before(grammarAccess.getVoiceTagAccess().getAskParserRuleCall_5()); 
                    pushFollow(FOLLOW_ruleAsk_in_rule__VoiceTag__Alternatives2866);
                    ruleAsk();

                    state._fsp--;

                     after(grammarAccess.getVoiceTagAccess().getAskParserRuleCall_5()); 

                    }


                    }
                    break;
                case 7 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1353:6: ( ruleSend )
                    {
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1353:6: ( ruleSend )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1354:1: ruleSend
                    {
                     before(grammarAccess.getVoiceTagAccess().getSendParserRuleCall_6()); 
                    pushFollow(FOLLOW_ruleSend_in_rule__VoiceTag__Alternatives2883);
                    ruleSend();

                    state._fsp--;

                     after(grammarAccess.getVoiceTagAccess().getSendParserRuleCall_6()); 

                    }


                    }
                    break;
                case 8 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1359:6: ( ruleReject )
                    {
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1359:6: ( ruleReject )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1360:1: ruleReject
                    {
                     before(grammarAccess.getVoiceTagAccess().getRejectParserRuleCall_7()); 
                    pushFollow(FOLLOW_ruleReject_in_rule__VoiceTag__Alternatives2900);
                    ruleReject();

                    state._fsp--;

                     after(grammarAccess.getVoiceTagAccess().getRejectParserRuleCall_7()); 

                    }


                    }
                    break;
                case 9 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1365:6: ( ruleHangup )
                    {
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1365:6: ( ruleHangup )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1366:1: ruleHangup
                    {
                     before(grammarAccess.getVoiceTagAccess().getHangupParserRuleCall_8()); 
                    pushFollow(FOLLOW_ruleHangup_in_rule__VoiceTag__Alternatives2917);
                    ruleHangup();

                    state._fsp--;

                     after(grammarAccess.getVoiceTagAccess().getHangupParserRuleCall_8()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__VoiceTag__Alternatives"


    // $ANTLR start "rule__TerminalBoolExpression__Alternatives"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1376:1: rule__TerminalBoolExpression__Alternatives : ( ( ( rule__TerminalBoolExpression__Group_0__0 ) ) | ( ruleBoolLiteral ) | ( ruleCompareExpression ) | ( ruleNegExpression ) | ( ruleLiteral ) );
    public final void rule__TerminalBoolExpression__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1380:1: ( ( ( rule__TerminalBoolExpression__Group_0__0 ) ) | ( ruleBoolLiteral ) | ( ruleCompareExpression ) | ( ruleNegExpression ) | ( ruleLiteral ) )
            int alt5=5;
            alt5 = dfa5.predict(input);
            switch (alt5) {
                case 1 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1381:1: ( ( rule__TerminalBoolExpression__Group_0__0 ) )
                    {
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1381:1: ( ( rule__TerminalBoolExpression__Group_0__0 ) )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1382:1: ( rule__TerminalBoolExpression__Group_0__0 )
                    {
                     before(grammarAccess.getTerminalBoolExpressionAccess().getGroup_0()); 
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1383:1: ( rule__TerminalBoolExpression__Group_0__0 )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1383:2: rule__TerminalBoolExpression__Group_0__0
                    {
                    pushFollow(FOLLOW_rule__TerminalBoolExpression__Group_0__0_in_rule__TerminalBoolExpression__Alternatives2949);
                    rule__TerminalBoolExpression__Group_0__0();

                    state._fsp--;


                    }

                     after(grammarAccess.getTerminalBoolExpressionAccess().getGroup_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1387:6: ( ruleBoolLiteral )
                    {
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1387:6: ( ruleBoolLiteral )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1388:1: ruleBoolLiteral
                    {
                     before(grammarAccess.getTerminalBoolExpressionAccess().getBoolLiteralParserRuleCall_1()); 
                    pushFollow(FOLLOW_ruleBoolLiteral_in_rule__TerminalBoolExpression__Alternatives2967);
                    ruleBoolLiteral();

                    state._fsp--;

                     after(grammarAccess.getTerminalBoolExpressionAccess().getBoolLiteralParserRuleCall_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1393:6: ( ruleCompareExpression )
                    {
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1393:6: ( ruleCompareExpression )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1394:1: ruleCompareExpression
                    {
                     before(grammarAccess.getTerminalBoolExpressionAccess().getCompareExpressionParserRuleCall_2()); 
                    pushFollow(FOLLOW_ruleCompareExpression_in_rule__TerminalBoolExpression__Alternatives2984);
                    ruleCompareExpression();

                    state._fsp--;

                     after(grammarAccess.getTerminalBoolExpressionAccess().getCompareExpressionParserRuleCall_2()); 

                    }


                    }
                    break;
                case 4 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1399:6: ( ruleNegExpression )
                    {
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1399:6: ( ruleNegExpression )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1400:1: ruleNegExpression
                    {
                     before(grammarAccess.getTerminalBoolExpressionAccess().getNegExpressionParserRuleCall_3()); 
                    pushFollow(FOLLOW_ruleNegExpression_in_rule__TerminalBoolExpression__Alternatives3001);
                    ruleNegExpression();

                    state._fsp--;

                     after(grammarAccess.getTerminalBoolExpressionAccess().getNegExpressionParserRuleCall_3()); 

                    }


                    }
                    break;
                case 5 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1405:6: ( ruleLiteral )
                    {
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1405:6: ( ruleLiteral )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1406:1: ruleLiteral
                    {
                     before(grammarAccess.getTerminalBoolExpressionAccess().getLiteralParserRuleCall_4()); 
                    pushFollow(FOLLOW_ruleLiteral_in_rule__TerminalBoolExpression__Alternatives3018);
                    ruleLiteral();

                    state._fsp--;

                     after(grammarAccess.getTerminalBoolExpressionAccess().getLiteralParserRuleCall_4()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TerminalBoolExpression__Alternatives"


    // $ANTLR start "rule__MathTerminal__Alternatives"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1416:1: rule__MathTerminal__Alternatives : ( ( ( rule__MathTerminal__Group_0__0 ) ) | ( ruleLiteral ) );
    public final void rule__MathTerminal__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1420:1: ( ( ( rule__MathTerminal__Group_0__0 ) ) | ( ruleLiteral ) )
            int alt6=2;
            int LA6_0 = input.LA(1);

            if ( (LA6_0==37) ) {
                alt6=1;
            }
            else if ( ((LA6_0>=RULE_DOUBLE && LA6_0<=RULE_ID)||(LA6_0>=RULE_NULL && LA6_0<=RULE_SESSION)) ) {
                alt6=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 6, 0, input);

                throw nvae;
            }
            switch (alt6) {
                case 1 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1421:1: ( ( rule__MathTerminal__Group_0__0 ) )
                    {
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1421:1: ( ( rule__MathTerminal__Group_0__0 ) )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1422:1: ( rule__MathTerminal__Group_0__0 )
                    {
                     before(grammarAccess.getMathTerminalAccess().getGroup_0()); 
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1423:1: ( rule__MathTerminal__Group_0__0 )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1423:2: rule__MathTerminal__Group_0__0
                    {
                    pushFollow(FOLLOW_rule__MathTerminal__Group_0__0_in_rule__MathTerminal__Alternatives3050);
                    rule__MathTerminal__Group_0__0();

                    state._fsp--;


                    }

                     after(grammarAccess.getMathTerminalAccess().getGroup_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1427:6: ( ruleLiteral )
                    {
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1427:6: ( ruleLiteral )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1428:1: ruleLiteral
                    {
                     before(grammarAccess.getMathTerminalAccess().getLiteralParserRuleCall_1()); 
                    pushFollow(FOLLOW_ruleLiteral_in_rule__MathTerminal__Alternatives3068);
                    ruleLiteral();

                    state._fsp--;

                     after(grammarAccess.getMathTerminalAccess().getLiteralParserRuleCall_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MathTerminal__Alternatives"


    // $ANTLR start "rule__ConcatenationTerminal__Alternatives"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1438:1: rule__ConcatenationTerminal__Alternatives : ( ( ( rule__ConcatenationTerminal__Group_0__0 ) ) | ( ruleLiteralAbs ) );
    public final void rule__ConcatenationTerminal__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1442:1: ( ( ( rule__ConcatenationTerminal__Group_0__0 ) ) | ( ruleLiteralAbs ) )
            int alt7=2;
            int LA7_0 = input.LA(1);

            if ( (LA7_0==37) ) {
                alt7=1;
            }
            else if ( ((LA7_0>=RULE_DOUBLE && LA7_0<=RULE_STRING)||(LA7_0>=RULE_NULL && LA7_0<=RULE_BOOL)) ) {
                alt7=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 7, 0, input);

                throw nvae;
            }
            switch (alt7) {
                case 1 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1443:1: ( ( rule__ConcatenationTerminal__Group_0__0 ) )
                    {
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1443:1: ( ( rule__ConcatenationTerminal__Group_0__0 ) )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1444:1: ( rule__ConcatenationTerminal__Group_0__0 )
                    {
                     before(grammarAccess.getConcatenationTerminalAccess().getGroup_0()); 
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1445:1: ( rule__ConcatenationTerminal__Group_0__0 )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1445:2: rule__ConcatenationTerminal__Group_0__0
                    {
                    pushFollow(FOLLOW_rule__ConcatenationTerminal__Group_0__0_in_rule__ConcatenationTerminal__Alternatives3100);
                    rule__ConcatenationTerminal__Group_0__0();

                    state._fsp--;


                    }

                     after(grammarAccess.getConcatenationTerminalAccess().getGroup_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1449:6: ( ruleLiteralAbs )
                    {
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1449:6: ( ruleLiteralAbs )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1450:1: ruleLiteralAbs
                    {
                     before(grammarAccess.getConcatenationTerminalAccess().getLiteralAbsParserRuleCall_1()); 
                    pushFollow(FOLLOW_ruleLiteralAbs_in_rule__ConcatenationTerminal__Alternatives3118);
                    ruleLiteralAbs();

                    state._fsp--;

                     after(grammarAccess.getConcatenationTerminalAccess().getLiteralAbsParserRuleCall_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConcatenationTerminal__Alternatives"


    // $ANTLR start "rule__LiteralAbs__Alternatives"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1461:1: rule__LiteralAbs__Alternatives : ( ( ruleLiteral ) | ( ruleStringLiteral ) | ( ruleBoolLiteral ) );
    public final void rule__LiteralAbs__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1465:1: ( ( ruleLiteral ) | ( ruleStringLiteral ) | ( ruleBoolLiteral ) )
            int alt8=3;
            switch ( input.LA(1) ) {
            case RULE_DOUBLE:
            case RULE_INT:
            case RULE_ID:
            case RULE_NULL:
            case RULE_SESSION:
                {
                alt8=1;
                }
                break;
            case RULE_STRING:
                {
                alt8=2;
                }
                break;
            case RULE_BOOL:
                {
                alt8=3;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 8, 0, input);

                throw nvae;
            }

            switch (alt8) {
                case 1 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1466:1: ( ruleLiteral )
                    {
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1466:1: ( ruleLiteral )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1467:1: ruleLiteral
                    {
                     before(grammarAccess.getLiteralAbsAccess().getLiteralParserRuleCall_0()); 
                    pushFollow(FOLLOW_ruleLiteral_in_rule__LiteralAbs__Alternatives3151);
                    ruleLiteral();

                    state._fsp--;

                     after(grammarAccess.getLiteralAbsAccess().getLiteralParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1472:6: ( ruleStringLiteral )
                    {
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1472:6: ( ruleStringLiteral )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1473:1: ruleStringLiteral
                    {
                     before(grammarAccess.getLiteralAbsAccess().getStringLiteralParserRuleCall_1()); 
                    pushFollow(FOLLOW_ruleStringLiteral_in_rule__LiteralAbs__Alternatives3168);
                    ruleStringLiteral();

                    state._fsp--;

                     after(grammarAccess.getLiteralAbsAccess().getStringLiteralParserRuleCall_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1478:6: ( ruleBoolLiteral )
                    {
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1478:6: ( ruleBoolLiteral )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1479:1: ruleBoolLiteral
                    {
                     before(grammarAccess.getLiteralAbsAccess().getBoolLiteralParserRuleCall_2()); 
                    pushFollow(FOLLOW_ruleBoolLiteral_in_rule__LiteralAbs__Alternatives3185);
                    ruleBoolLiteral();

                    state._fsp--;

                     after(grammarAccess.getLiteralAbsAccess().getBoolLiteralParserRuleCall_2()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__LiteralAbs__Alternatives"


    // $ANTLR start "rule__Literal__Alternatives"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1489:1: rule__Literal__Alternatives : ( ( ruleNumLiteral ) | ( ( rule__Literal__VAssignment_1 ) ) | ( ( rule__Literal__NulAssignment_2 ) ) | ( ( rule__Literal__SesAssignment_3 ) ) );
    public final void rule__Literal__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1493:1: ( ( ruleNumLiteral ) | ( ( rule__Literal__VAssignment_1 ) ) | ( ( rule__Literal__NulAssignment_2 ) ) | ( ( rule__Literal__SesAssignment_3 ) ) )
            int alt9=4;
            switch ( input.LA(1) ) {
            case RULE_DOUBLE:
            case RULE_INT:
                {
                alt9=1;
                }
                break;
            case RULE_ID:
                {
                alt9=2;
                }
                break;
            case RULE_NULL:
                {
                alt9=3;
                }
                break;
            case RULE_SESSION:
                {
                alt9=4;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 9, 0, input);

                throw nvae;
            }

            switch (alt9) {
                case 1 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1494:1: ( ruleNumLiteral )
                    {
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1494:1: ( ruleNumLiteral )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1495:1: ruleNumLiteral
                    {
                     before(grammarAccess.getLiteralAccess().getNumLiteralParserRuleCall_0()); 
                    pushFollow(FOLLOW_ruleNumLiteral_in_rule__Literal__Alternatives3217);
                    ruleNumLiteral();

                    state._fsp--;

                     after(grammarAccess.getLiteralAccess().getNumLiteralParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1500:6: ( ( rule__Literal__VAssignment_1 ) )
                    {
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1500:6: ( ( rule__Literal__VAssignment_1 ) )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1501:1: ( rule__Literal__VAssignment_1 )
                    {
                     before(grammarAccess.getLiteralAccess().getVAssignment_1()); 
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1502:1: ( rule__Literal__VAssignment_1 )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1502:2: rule__Literal__VAssignment_1
                    {
                    pushFollow(FOLLOW_rule__Literal__VAssignment_1_in_rule__Literal__Alternatives3234);
                    rule__Literal__VAssignment_1();

                    state._fsp--;


                    }

                     after(grammarAccess.getLiteralAccess().getVAssignment_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1506:6: ( ( rule__Literal__NulAssignment_2 ) )
                    {
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1506:6: ( ( rule__Literal__NulAssignment_2 ) )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1507:1: ( rule__Literal__NulAssignment_2 )
                    {
                     before(grammarAccess.getLiteralAccess().getNulAssignment_2()); 
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1508:1: ( rule__Literal__NulAssignment_2 )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1508:2: rule__Literal__NulAssignment_2
                    {
                    pushFollow(FOLLOW_rule__Literal__NulAssignment_2_in_rule__Literal__Alternatives3252);
                    rule__Literal__NulAssignment_2();

                    state._fsp--;


                    }

                     after(grammarAccess.getLiteralAccess().getNulAssignment_2()); 

                    }


                    }
                    break;
                case 4 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1512:6: ( ( rule__Literal__SesAssignment_3 ) )
                    {
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1512:6: ( ( rule__Literal__SesAssignment_3 ) )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1513:1: ( rule__Literal__SesAssignment_3 )
                    {
                     before(grammarAccess.getLiteralAccess().getSesAssignment_3()); 
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1514:1: ( rule__Literal__SesAssignment_3 )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1514:2: rule__Literal__SesAssignment_3
                    {
                    pushFollow(FOLLOW_rule__Literal__SesAssignment_3_in_rule__Literal__Alternatives3270);
                    rule__Literal__SesAssignment_3();

                    state._fsp--;


                    }

                     after(grammarAccess.getLiteralAccess().getSesAssignment_3()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Literal__Alternatives"


    // $ANTLR start "rule__Number__Alternatives"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1523:1: rule__Number__Alternatives : ( ( RULE_DOUBLE ) | ( RULE_INT ) );
    public final void rule__Number__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1527:1: ( ( RULE_DOUBLE ) | ( RULE_INT ) )
            int alt10=2;
            int LA10_0 = input.LA(1);

            if ( (LA10_0==RULE_DOUBLE) ) {
                alt10=1;
            }
            else if ( (LA10_0==RULE_INT) ) {
                alt10=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 10, 0, input);

                throw nvae;
            }
            switch (alt10) {
                case 1 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1528:1: ( RULE_DOUBLE )
                    {
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1528:1: ( RULE_DOUBLE )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1529:1: RULE_DOUBLE
                    {
                     before(grammarAccess.getNumberAccess().getDOUBLETerminalRuleCall_0()); 
                    match(input,RULE_DOUBLE,FOLLOW_RULE_DOUBLE_in_rule__Number__Alternatives3303); 
                     after(grammarAccess.getNumberAccess().getDOUBLETerminalRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1534:6: ( RULE_INT )
                    {
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1534:6: ( RULE_INT )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1535:1: RULE_INT
                    {
                     before(grammarAccess.getNumberAccess().getINTTerminalRuleCall_1()); 
                    match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Number__Alternatives3320); 
                     after(grammarAccess.getNumberAccess().getINTTerminalRuleCall_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Number__Alternatives"


    // $ANTLR start "rule__Document__Group__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1547:1: rule__Document__Group__0 : rule__Document__Group__0__Impl rule__Document__Group__1 ;
    public final void rule__Document__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1551:1: ( rule__Document__Group__0__Impl rule__Document__Group__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1552:2: rule__Document__Group__0__Impl rule__Document__Group__1
            {
            pushFollow(FOLLOW_rule__Document__Group__0__Impl_in_rule__Document__Group__03350);
            rule__Document__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Document__Group__1_in_rule__Document__Group__03353);
            rule__Document__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Document__Group__0"


    // $ANTLR start "rule__Document__Group__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1559:1: rule__Document__Group__0__Impl : ( 'application' ) ;
    public final void rule__Document__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1563:1: ( ( 'application' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1564:1: ( 'application' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1564:1: ( 'application' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1565:1: 'application'
            {
             before(grammarAccess.getDocumentAccess().getApplicationKeyword_0()); 
            match(input,21,FOLLOW_21_in_rule__Document__Group__0__Impl3381); 
             after(grammarAccess.getDocumentAccess().getApplicationKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Document__Group__0__Impl"


    // $ANTLR start "rule__Document__Group__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1578:1: rule__Document__Group__1 : rule__Document__Group__1__Impl rule__Document__Group__2 ;
    public final void rule__Document__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1582:1: ( rule__Document__Group__1__Impl rule__Document__Group__2 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1583:2: rule__Document__Group__1__Impl rule__Document__Group__2
            {
            pushFollow(FOLLOW_rule__Document__Group__1__Impl_in_rule__Document__Group__13412);
            rule__Document__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Document__Group__2_in_rule__Document__Group__13415);
            rule__Document__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Document__Group__1"


    // $ANTLR start "rule__Document__Group__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1590:1: rule__Document__Group__1__Impl : ( ( rule__Document__NameAssignment_1 ) ) ;
    public final void rule__Document__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1594:1: ( ( ( rule__Document__NameAssignment_1 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1595:1: ( ( rule__Document__NameAssignment_1 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1595:1: ( ( rule__Document__NameAssignment_1 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1596:1: ( rule__Document__NameAssignment_1 )
            {
             before(grammarAccess.getDocumentAccess().getNameAssignment_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1597:1: ( rule__Document__NameAssignment_1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1597:2: rule__Document__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__Document__NameAssignment_1_in_rule__Document__Group__1__Impl3442);
            rule__Document__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getDocumentAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Document__Group__1__Impl"


    // $ANTLR start "rule__Document__Group__2"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1607:1: rule__Document__Group__2 : rule__Document__Group__2__Impl rule__Document__Group__3 ;
    public final void rule__Document__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1611:1: ( rule__Document__Group__2__Impl rule__Document__Group__3 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1612:2: rule__Document__Group__2__Impl rule__Document__Group__3
            {
            pushFollow(FOLLOW_rule__Document__Group__2__Impl_in_rule__Document__Group__23472);
            rule__Document__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Document__Group__3_in_rule__Document__Group__23475);
            rule__Document__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Document__Group__2"


    // $ANTLR start "rule__Document__Group__2__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1619:1: rule__Document__Group__2__Impl : ( ( rule__Document__StatesAssignment_2 )? ) ;
    public final void rule__Document__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1623:1: ( ( ( rule__Document__StatesAssignment_2 )? ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1624:1: ( ( rule__Document__StatesAssignment_2 )? )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1624:1: ( ( rule__Document__StatesAssignment_2 )? )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1625:1: ( rule__Document__StatesAssignment_2 )?
            {
             before(grammarAccess.getDocumentAccess().getStatesAssignment_2()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1626:1: ( rule__Document__StatesAssignment_2 )?
            int alt11=2;
            int LA11_0 = input.LA(1);

            if ( (LA11_0==52) ) {
                alt11=1;
            }
            switch (alt11) {
                case 1 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1626:2: rule__Document__StatesAssignment_2
                    {
                    pushFollow(FOLLOW_rule__Document__StatesAssignment_2_in_rule__Document__Group__2__Impl3502);
                    rule__Document__StatesAssignment_2();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getDocumentAccess().getStatesAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Document__Group__2__Impl"


    // $ANTLR start "rule__Document__Group__3"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1636:1: rule__Document__Group__3 : rule__Document__Group__3__Impl rule__Document__Group__4 ;
    public final void rule__Document__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1640:1: ( rule__Document__Group__3__Impl rule__Document__Group__4 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1641:2: rule__Document__Group__3__Impl rule__Document__Group__4
            {
            pushFollow(FOLLOW_rule__Document__Group__3__Impl_in_rule__Document__Group__33533);
            rule__Document__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Document__Group__4_in_rule__Document__Group__33536);
            rule__Document__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Document__Group__3"


    // $ANTLR start "rule__Document__Group__3__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1648:1: rule__Document__Group__3__Impl : ( ( rule__Document__ElementsAssignment_3 )* ) ;
    public final void rule__Document__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1652:1: ( ( ( rule__Document__ElementsAssignment_3 )* ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1653:1: ( ( rule__Document__ElementsAssignment_3 )* )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1653:1: ( ( rule__Document__ElementsAssignment_3 )* )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1654:1: ( rule__Document__ElementsAssignment_3 )*
            {
             before(grammarAccess.getDocumentAccess().getElementsAssignment_3()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1655:1: ( rule__Document__ElementsAssignment_3 )*
            loop12:
            do {
                int alt12=2;
                int LA12_0 = input.LA(1);

                if ( (LA12_0==RULE_ML_COMMENT||LA12_0==RULE_ID||LA12_0==27||(LA12_0>=29 && LA12_0<=30)||LA12_0==33||LA12_0==36||LA12_0==40||LA12_0==42||(LA12_0>=46 && LA12_0<=47)||(LA12_0>=49 && LA12_0<=50)||(LA12_0>=53 && LA12_0<=54)) ) {
                    alt12=1;
                }


                switch (alt12) {
            	case 1 :
            	    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1655:2: rule__Document__ElementsAssignment_3
            	    {
            	    pushFollow(FOLLOW_rule__Document__ElementsAssignment_3_in_rule__Document__Group__3__Impl3563);
            	    rule__Document__ElementsAssignment_3();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop12;
                }
            } while (true);

             after(grammarAccess.getDocumentAccess().getElementsAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Document__Group__3__Impl"


    // $ANTLR start "rule__Document__Group__4"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1665:1: rule__Document__Group__4 : rule__Document__Group__4__Impl ;
    public final void rule__Document__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1669:1: ( rule__Document__Group__4__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1670:2: rule__Document__Group__4__Impl
            {
            pushFollow(FOLLOW_rule__Document__Group__4__Impl_in_rule__Document__Group__43594);
            rule__Document__Group__4__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Document__Group__4"


    // $ANTLR start "rule__Document__Group__4__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1676:1: rule__Document__Group__4__Impl : ( ( rule__Document__StaAssignment_4 )* ) ;
    public final void rule__Document__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1680:1: ( ( ( rule__Document__StaAssignment_4 )* ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1681:1: ( ( rule__Document__StaAssignment_4 )* )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1681:1: ( ( rule__Document__StaAssignment_4 )* )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1682:1: ( rule__Document__StaAssignment_4 )*
            {
             before(grammarAccess.getDocumentAccess().getStaAssignment_4()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1683:1: ( rule__Document__StaAssignment_4 )*
            loop13:
            do {
                int alt13=2;
                int LA13_0 = input.LA(1);

                if ( (LA13_0==22||LA13_0==24||LA13_0==26) ) {
                    alt13=1;
                }


                switch (alt13) {
            	case 1 :
            	    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1683:2: rule__Document__StaAssignment_4
            	    {
            	    pushFollow(FOLLOW_rule__Document__StaAssignment_4_in_rule__Document__Group__4__Impl3621);
            	    rule__Document__StaAssignment_4();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop13;
                }
            } while (true);

             after(grammarAccess.getDocumentAccess().getStaAssignment_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Document__Group__4__Impl"


    // $ANTLR start "rule__State__Group_0__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1703:1: rule__State__Group_0__0 : rule__State__Group_0__0__Impl rule__State__Group_0__1 ;
    public final void rule__State__Group_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1707:1: ( rule__State__Group_0__0__Impl rule__State__Group_0__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1708:2: rule__State__Group_0__0__Impl rule__State__Group_0__1
            {
            pushFollow(FOLLOW_rule__State__Group_0__0__Impl_in_rule__State__Group_0__03662);
            rule__State__Group_0__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__State__Group_0__1_in_rule__State__Group_0__03665);
            rule__State__Group_0__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__State__Group_0__0"


    // $ANTLR start "rule__State__Group_0__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1715:1: rule__State__Group_0__0__Impl : ( 'state' ) ;
    public final void rule__State__Group_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1719:1: ( ( 'state' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1720:1: ( 'state' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1720:1: ( 'state' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1721:1: 'state'
            {
             before(grammarAccess.getStateAccess().getStateKeyword_0_0()); 
            match(input,22,FOLLOW_22_in_rule__State__Group_0__0__Impl3693); 
             after(grammarAccess.getStateAccess().getStateKeyword_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__State__Group_0__0__Impl"


    // $ANTLR start "rule__State__Group_0__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1734:1: rule__State__Group_0__1 : rule__State__Group_0__1__Impl rule__State__Group_0__2 ;
    public final void rule__State__Group_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1738:1: ( rule__State__Group_0__1__Impl rule__State__Group_0__2 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1739:2: rule__State__Group_0__1__Impl rule__State__Group_0__2
            {
            pushFollow(FOLLOW_rule__State__Group_0__1__Impl_in_rule__State__Group_0__13724);
            rule__State__Group_0__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__State__Group_0__2_in_rule__State__Group_0__13727);
            rule__State__Group_0__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__State__Group_0__1"


    // $ANTLR start "rule__State__Group_0__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1746:1: rule__State__Group_0__1__Impl : ( ( rule__State__NameAssignment_0_1 ) ) ;
    public final void rule__State__Group_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1750:1: ( ( ( rule__State__NameAssignment_0_1 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1751:1: ( ( rule__State__NameAssignment_0_1 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1751:1: ( ( rule__State__NameAssignment_0_1 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1752:1: ( rule__State__NameAssignment_0_1 )
            {
             before(grammarAccess.getStateAccess().getNameAssignment_0_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1753:1: ( rule__State__NameAssignment_0_1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1753:2: rule__State__NameAssignment_0_1
            {
            pushFollow(FOLLOW_rule__State__NameAssignment_0_1_in_rule__State__Group_0__1__Impl3754);
            rule__State__NameAssignment_0_1();

            state._fsp--;


            }

             after(grammarAccess.getStateAccess().getNameAssignment_0_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__State__Group_0__1__Impl"


    // $ANTLR start "rule__State__Group_0__2"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1763:1: rule__State__Group_0__2 : rule__State__Group_0__2__Impl ;
    public final void rule__State__Group_0__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1767:1: ( rule__State__Group_0__2__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1768:2: rule__State__Group_0__2__Impl
            {
            pushFollow(FOLLOW_rule__State__Group_0__2__Impl_in_rule__State__Group_0__23784);
            rule__State__Group_0__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__State__Group_0__2"


    // $ANTLR start "rule__State__Group_0__2__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1774:1: rule__State__Group_0__2__Impl : ( ( rule__State__Group_0_2__0 )? ) ;
    public final void rule__State__Group_0__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1778:1: ( ( ( rule__State__Group_0_2__0 )? ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1779:1: ( ( rule__State__Group_0_2__0 )? )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1779:1: ( ( rule__State__Group_0_2__0 )? )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1780:1: ( rule__State__Group_0_2__0 )?
            {
             before(grammarAccess.getStateAccess().getGroup_0_2()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1781:1: ( rule__State__Group_0_2__0 )?
            int alt14=2;
            int LA14_0 = input.LA(1);

            if ( (LA14_0==23) ) {
                alt14=1;
            }
            switch (alt14) {
                case 1 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1781:2: rule__State__Group_0_2__0
                    {
                    pushFollow(FOLLOW_rule__State__Group_0_2__0_in_rule__State__Group_0__2__Impl3811);
                    rule__State__Group_0_2__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getStateAccess().getGroup_0_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__State__Group_0__2__Impl"


    // $ANTLR start "rule__State__Group_0_2__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1797:1: rule__State__Group_0_2__0 : rule__State__Group_0_2__0__Impl rule__State__Group_0_2__1 ;
    public final void rule__State__Group_0_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1801:1: ( rule__State__Group_0_2__0__Impl rule__State__Group_0_2__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1802:2: rule__State__Group_0_2__0__Impl rule__State__Group_0_2__1
            {
            pushFollow(FOLLOW_rule__State__Group_0_2__0__Impl_in_rule__State__Group_0_2__03848);
            rule__State__Group_0_2__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__State__Group_0_2__1_in_rule__State__Group_0_2__03851);
            rule__State__Group_0_2__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__State__Group_0_2__0"


    // $ANTLR start "rule__State__Group_0_2__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1809:1: rule__State__Group_0_2__0__Impl : ( 'times:' ) ;
    public final void rule__State__Group_0_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1813:1: ( ( 'times:' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1814:1: ( 'times:' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1814:1: ( 'times:' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1815:1: 'times:'
            {
             before(grammarAccess.getStateAccess().getTimesKeyword_0_2_0()); 
            match(input,23,FOLLOW_23_in_rule__State__Group_0_2__0__Impl3879); 
             after(grammarAccess.getStateAccess().getTimesKeyword_0_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__State__Group_0_2__0__Impl"


    // $ANTLR start "rule__State__Group_0_2__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1828:1: rule__State__Group_0_2__1 : rule__State__Group_0_2__1__Impl ;
    public final void rule__State__Group_0_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1832:1: ( rule__State__Group_0_2__1__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1833:2: rule__State__Group_0_2__1__Impl
            {
            pushFollow(FOLLOW_rule__State__Group_0_2__1__Impl_in_rule__State__Group_0_2__13910);
            rule__State__Group_0_2__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__State__Group_0_2__1"


    // $ANTLR start "rule__State__Group_0_2__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1839:1: rule__State__Group_0_2__1__Impl : ( ( rule__State__TimesAssignment_0_2_1 ) ) ;
    public final void rule__State__Group_0_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1843:1: ( ( ( rule__State__TimesAssignment_0_2_1 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1844:1: ( ( rule__State__TimesAssignment_0_2_1 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1844:1: ( ( rule__State__TimesAssignment_0_2_1 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1845:1: ( rule__State__TimesAssignment_0_2_1 )
            {
             before(grammarAccess.getStateAccess().getTimesAssignment_0_2_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1846:1: ( rule__State__TimesAssignment_0_2_1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1846:2: rule__State__TimesAssignment_0_2_1
            {
            pushFollow(FOLLOW_rule__State__TimesAssignment_0_2_1_in_rule__State__Group_0_2__1__Impl3937);
            rule__State__TimesAssignment_0_2_1();

            state._fsp--;


            }

             after(grammarAccess.getStateAccess().getTimesAssignment_0_2_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__State__Group_0_2__1__Impl"


    // $ANTLR start "rule__State__Group_1__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1860:1: rule__State__Group_1__0 : rule__State__Group_1__0__Impl rule__State__Group_1__1 ;
    public final void rule__State__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1864:1: ( rule__State__Group_1__0__Impl rule__State__Group_1__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1865:2: rule__State__Group_1__0__Impl rule__State__Group_1__1
            {
            pushFollow(FOLLOW_rule__State__Group_1__0__Impl_in_rule__State__Group_1__03971);
            rule__State__Group_1__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__State__Group_1__1_in_rule__State__Group_1__03974);
            rule__State__Group_1__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__State__Group_1__0"


    // $ANTLR start "rule__State__Group_1__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1872:1: rule__State__Group_1__0__Impl : ( ( rule__State__Group_1_0__0 )? ) ;
    public final void rule__State__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1876:1: ( ( ( rule__State__Group_1_0__0 )? ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1877:1: ( ( rule__State__Group_1_0__0 )? )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1877:1: ( ( rule__State__Group_1_0__0 )? )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1878:1: ( rule__State__Group_1_0__0 )?
            {
             before(grammarAccess.getStateAccess().getGroup_1_0()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1879:1: ( rule__State__Group_1_0__0 )?
            int alt15=2;
            int LA15_0 = input.LA(1);

            if ( (LA15_0==26) ) {
                alt15=1;
            }
            switch (alt15) {
                case 1 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1879:2: rule__State__Group_1_0__0
                    {
                    pushFollow(FOLLOW_rule__State__Group_1_0__0_in_rule__State__Group_1__0__Impl4001);
                    rule__State__Group_1_0__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getStateAccess().getGroup_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__State__Group_1__0__Impl"


    // $ANTLR start "rule__State__Group_1__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1889:1: rule__State__Group_1__1 : rule__State__Group_1__1__Impl rule__State__Group_1__2 ;
    public final void rule__State__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1893:1: ( rule__State__Group_1__1__Impl rule__State__Group_1__2 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1894:2: rule__State__Group_1__1__Impl rule__State__Group_1__2
            {
            pushFollow(FOLLOW_rule__State__Group_1__1__Impl_in_rule__State__Group_1__14032);
            rule__State__Group_1__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__State__Group_1__2_in_rule__State__Group_1__14035);
            rule__State__Group_1__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__State__Group_1__1"


    // $ANTLR start "rule__State__Group_1__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1901:1: rule__State__Group_1__1__Impl : ( '{' ) ;
    public final void rule__State__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1905:1: ( ( '{' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1906:1: ( '{' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1906:1: ( '{' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1907:1: '{'
            {
             before(grammarAccess.getStateAccess().getLeftCurlyBracketKeyword_1_1()); 
            match(input,24,FOLLOW_24_in_rule__State__Group_1__1__Impl4063); 
             after(grammarAccess.getStateAccess().getLeftCurlyBracketKeyword_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__State__Group_1__1__Impl"


    // $ANTLR start "rule__State__Group_1__2"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1920:1: rule__State__Group_1__2 : rule__State__Group_1__2__Impl rule__State__Group_1__3 ;
    public final void rule__State__Group_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1924:1: ( rule__State__Group_1__2__Impl rule__State__Group_1__3 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1925:2: rule__State__Group_1__2__Impl rule__State__Group_1__3
            {
            pushFollow(FOLLOW_rule__State__Group_1__2__Impl_in_rule__State__Group_1__24094);
            rule__State__Group_1__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__State__Group_1__3_in_rule__State__Group_1__24097);
            rule__State__Group_1__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__State__Group_1__2"


    // $ANTLR start "rule__State__Group_1__2__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1932:1: rule__State__Group_1__2__Impl : ( ( rule__State__StmsAssignment_1_2 )* ) ;
    public final void rule__State__Group_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1936:1: ( ( ( rule__State__StmsAssignment_1_2 )* ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1937:1: ( ( rule__State__StmsAssignment_1_2 )* )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1937:1: ( ( rule__State__StmsAssignment_1_2 )* )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1938:1: ( rule__State__StmsAssignment_1_2 )*
            {
             before(grammarAccess.getStateAccess().getStmsAssignment_1_2()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1939:1: ( rule__State__StmsAssignment_1_2 )*
            loop16:
            do {
                int alt16=2;
                int LA16_0 = input.LA(1);

                if ( (LA16_0==RULE_ML_COMMENT||LA16_0==RULE_ID||LA16_0==27||(LA16_0>=29 && LA16_0<=30)||LA16_0==33||LA16_0==36||LA16_0==40||(LA16_0>=42 && LA16_0<=43)||(LA16_0>=46 && LA16_0<=47)||(LA16_0>=49 && LA16_0<=51)||(LA16_0>=53 && LA16_0<=54)) ) {
                    alt16=1;
                }


                switch (alt16) {
            	case 1 :
            	    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1939:2: rule__State__StmsAssignment_1_2
            	    {
            	    pushFollow(FOLLOW_rule__State__StmsAssignment_1_2_in_rule__State__Group_1__2__Impl4124);
            	    rule__State__StmsAssignment_1_2();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop16;
                }
            } while (true);

             after(grammarAccess.getStateAccess().getStmsAssignment_1_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__State__Group_1__2__Impl"


    // $ANTLR start "rule__State__Group_1__3"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1949:1: rule__State__Group_1__3 : rule__State__Group_1__3__Impl ;
    public final void rule__State__Group_1__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1953:1: ( rule__State__Group_1__3__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1954:2: rule__State__Group_1__3__Impl
            {
            pushFollow(FOLLOW_rule__State__Group_1__3__Impl_in_rule__State__Group_1__34155);
            rule__State__Group_1__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__State__Group_1__3"


    // $ANTLR start "rule__State__Group_1__3__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1960:1: rule__State__Group_1__3__Impl : ( '}' ) ;
    public final void rule__State__Group_1__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1964:1: ( ( '}' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1965:1: ( '}' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1965:1: ( '}' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1966:1: '}'
            {
             before(grammarAccess.getStateAccess().getRightCurlyBracketKeyword_1_3()); 
            match(input,25,FOLLOW_25_in_rule__State__Group_1__3__Impl4183); 
             after(grammarAccess.getStateAccess().getRightCurlyBracketKeyword_1_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__State__Group_1__3__Impl"


    // $ANTLR start "rule__State__Group_1_0__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1987:1: rule__State__Group_1_0__0 : rule__State__Group_1_0__0__Impl rule__State__Group_1_0__1 ;
    public final void rule__State__Group_1_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1991:1: ( rule__State__Group_1_0__0__Impl rule__State__Group_1_0__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1992:2: rule__State__Group_1_0__0__Impl rule__State__Group_1_0__1
            {
            pushFollow(FOLLOW_rule__State__Group_1_0__0__Impl_in_rule__State__Group_1_0__04222);
            rule__State__Group_1_0__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__State__Group_1_0__1_in_rule__State__Group_1_0__04225);
            rule__State__Group_1_0__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__State__Group_1_0__0"


    // $ANTLR start "rule__State__Group_1_0__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:1999:1: rule__State__Group_1_0__0__Impl : ( 'timeout:' ) ;
    public final void rule__State__Group_1_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2003:1: ( ( 'timeout:' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2004:1: ( 'timeout:' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2004:1: ( 'timeout:' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2005:1: 'timeout:'
            {
             before(grammarAccess.getStateAccess().getTimeoutKeyword_1_0_0()); 
            match(input,26,FOLLOW_26_in_rule__State__Group_1_0__0__Impl4253); 
             after(grammarAccess.getStateAccess().getTimeoutKeyword_1_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__State__Group_1_0__0__Impl"


    // $ANTLR start "rule__State__Group_1_0__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2018:1: rule__State__Group_1_0__1 : rule__State__Group_1_0__1__Impl ;
    public final void rule__State__Group_1_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2022:1: ( rule__State__Group_1_0__1__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2023:2: rule__State__Group_1_0__1__Impl
            {
            pushFollow(FOLLOW_rule__State__Group_1_0__1__Impl_in_rule__State__Group_1_0__14284);
            rule__State__Group_1_0__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__State__Group_1_0__1"


    // $ANTLR start "rule__State__Group_1_0__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2029:1: rule__State__Group_1_0__1__Impl : ( ( rule__State__TimeoutAssignment_1_0_1 ) ) ;
    public final void rule__State__Group_1_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2033:1: ( ( ( rule__State__TimeoutAssignment_1_0_1 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2034:1: ( ( rule__State__TimeoutAssignment_1_0_1 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2034:1: ( ( rule__State__TimeoutAssignment_1_0_1 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2035:1: ( rule__State__TimeoutAssignment_1_0_1 )
            {
             before(grammarAccess.getStateAccess().getTimeoutAssignment_1_0_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2036:1: ( rule__State__TimeoutAssignment_1_0_1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2036:2: rule__State__TimeoutAssignment_1_0_1
            {
            pushFollow(FOLLOW_rule__State__TimeoutAssignment_1_0_1_in_rule__State__Group_1_0__1__Impl4311);
            rule__State__TimeoutAssignment_1_0_1();

            state._fsp--;


            }

             after(grammarAccess.getStateAccess().getTimeoutAssignment_1_0_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__State__Group_1_0__1__Impl"


    // $ANTLR start "rule__Dial__Group__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2050:1: rule__Dial__Group__0 : rule__Dial__Group__0__Impl rule__Dial__Group__1 ;
    public final void rule__Dial__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2054:1: ( rule__Dial__Group__0__Impl rule__Dial__Group__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2055:2: rule__Dial__Group__0__Impl rule__Dial__Group__1
            {
            pushFollow(FOLLOW_rule__Dial__Group__0__Impl_in_rule__Dial__Group__04345);
            rule__Dial__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Dial__Group__1_in_rule__Dial__Group__04348);
            rule__Dial__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Dial__Group__0"


    // $ANTLR start "rule__Dial__Group__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2062:1: rule__Dial__Group__0__Impl : ( 'dialTo' ) ;
    public final void rule__Dial__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2066:1: ( ( 'dialTo' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2067:1: ( 'dialTo' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2067:1: ( 'dialTo' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2068:1: 'dialTo'
            {
             before(grammarAccess.getDialAccess().getDialToKeyword_0()); 
            match(input,27,FOLLOW_27_in_rule__Dial__Group__0__Impl4376); 
             after(grammarAccess.getDialAccess().getDialToKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Dial__Group__0__Impl"


    // $ANTLR start "rule__Dial__Group__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2081:1: rule__Dial__Group__1 : rule__Dial__Group__1__Impl rule__Dial__Group__2 ;
    public final void rule__Dial__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2085:1: ( rule__Dial__Group__1__Impl rule__Dial__Group__2 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2086:2: rule__Dial__Group__1__Impl rule__Dial__Group__2
            {
            pushFollow(FOLLOW_rule__Dial__Group__1__Impl_in_rule__Dial__Group__14407);
            rule__Dial__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Dial__Group__2_in_rule__Dial__Group__14410);
            rule__Dial__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Dial__Group__1"


    // $ANTLR start "rule__Dial__Group__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2093:1: rule__Dial__Group__1__Impl : ( ( rule__Dial__ToAssignment_1 ) ) ;
    public final void rule__Dial__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2097:1: ( ( ( rule__Dial__ToAssignment_1 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2098:1: ( ( rule__Dial__ToAssignment_1 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2098:1: ( ( rule__Dial__ToAssignment_1 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2099:1: ( rule__Dial__ToAssignment_1 )
            {
             before(grammarAccess.getDialAccess().getToAssignment_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2100:1: ( rule__Dial__ToAssignment_1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2100:2: rule__Dial__ToAssignment_1
            {
            pushFollow(FOLLOW_rule__Dial__ToAssignment_1_in_rule__Dial__Group__1__Impl4437);
            rule__Dial__ToAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getDialAccess().getToAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Dial__Group__1__Impl"


    // $ANTLR start "rule__Dial__Group__2"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2110:1: rule__Dial__Group__2 : rule__Dial__Group__2__Impl ;
    public final void rule__Dial__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2114:1: ( rule__Dial__Group__2__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2115:2: rule__Dial__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__Dial__Group__2__Impl_in_rule__Dial__Group__24467);
            rule__Dial__Group__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Dial__Group__2"


    // $ANTLR start "rule__Dial__Group__2__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2121:1: rule__Dial__Group__2__Impl : ( ';' ) ;
    public final void rule__Dial__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2125:1: ( ( ';' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2126:1: ( ';' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2126:1: ( ';' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2127:1: ';'
            {
             before(grammarAccess.getDialAccess().getSemicolonKeyword_2()); 
            match(input,28,FOLLOW_28_in_rule__Dial__Group__2__Impl4495); 
             after(grammarAccess.getDialAccess().getSemicolonKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Dial__Group__2__Impl"


    // $ANTLR start "rule__Play__Group__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2146:1: rule__Play__Group__0 : rule__Play__Group__0__Impl rule__Play__Group__1 ;
    public final void rule__Play__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2150:1: ( rule__Play__Group__0__Impl rule__Play__Group__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2151:2: rule__Play__Group__0__Impl rule__Play__Group__1
            {
            pushFollow(FOLLOW_rule__Play__Group__0__Impl_in_rule__Play__Group__04532);
            rule__Play__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Play__Group__1_in_rule__Play__Group__04535);
            rule__Play__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Play__Group__0"


    // $ANTLR start "rule__Play__Group__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2158:1: rule__Play__Group__0__Impl : ( 'play' ) ;
    public final void rule__Play__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2162:1: ( ( 'play' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2163:1: ( 'play' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2163:1: ( 'play' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2164:1: 'play'
            {
             before(grammarAccess.getPlayAccess().getPlayKeyword_0()); 
            match(input,29,FOLLOW_29_in_rule__Play__Group__0__Impl4563); 
             after(grammarAccess.getPlayAccess().getPlayKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Play__Group__0__Impl"


    // $ANTLR start "rule__Play__Group__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2177:1: rule__Play__Group__1 : rule__Play__Group__1__Impl rule__Play__Group__2 ;
    public final void rule__Play__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2181:1: ( rule__Play__Group__1__Impl rule__Play__Group__2 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2182:2: rule__Play__Group__1__Impl rule__Play__Group__2
            {
            pushFollow(FOLLOW_rule__Play__Group__1__Impl_in_rule__Play__Group__14594);
            rule__Play__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Play__Group__2_in_rule__Play__Group__14597);
            rule__Play__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Play__Group__1"


    // $ANTLR start "rule__Play__Group__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2189:1: rule__Play__Group__1__Impl : ( ( rule__Play__FileAssignment_1 ) ) ;
    public final void rule__Play__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2193:1: ( ( ( rule__Play__FileAssignment_1 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2194:1: ( ( rule__Play__FileAssignment_1 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2194:1: ( ( rule__Play__FileAssignment_1 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2195:1: ( rule__Play__FileAssignment_1 )
            {
             before(grammarAccess.getPlayAccess().getFileAssignment_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2196:1: ( rule__Play__FileAssignment_1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2196:2: rule__Play__FileAssignment_1
            {
            pushFollow(FOLLOW_rule__Play__FileAssignment_1_in_rule__Play__Group__1__Impl4624);
            rule__Play__FileAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getPlayAccess().getFileAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Play__Group__1__Impl"


    // $ANTLR start "rule__Play__Group__2"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2206:1: rule__Play__Group__2 : rule__Play__Group__2__Impl ;
    public final void rule__Play__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2210:1: ( rule__Play__Group__2__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2211:2: rule__Play__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__Play__Group__2__Impl_in_rule__Play__Group__24654);
            rule__Play__Group__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Play__Group__2"


    // $ANTLR start "rule__Play__Group__2__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2217:1: rule__Play__Group__2__Impl : ( ';' ) ;
    public final void rule__Play__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2221:1: ( ( ';' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2222:1: ( ';' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2222:1: ( ';' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2223:1: ';'
            {
             before(grammarAccess.getPlayAccess().getSemicolonKeyword_2()); 
            match(input,28,FOLLOW_28_in_rule__Play__Group__2__Impl4682); 
             after(grammarAccess.getPlayAccess().getSemicolonKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Play__Group__2__Impl"


    // $ANTLR start "rule__Record__Group__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2242:1: rule__Record__Group__0 : rule__Record__Group__0__Impl rule__Record__Group__1 ;
    public final void rule__Record__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2246:1: ( rule__Record__Group__0__Impl rule__Record__Group__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2247:2: rule__Record__Group__0__Impl rule__Record__Group__1
            {
            pushFollow(FOLLOW_rule__Record__Group__0__Impl_in_rule__Record__Group__04719);
            rule__Record__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Record__Group__1_in_rule__Record__Group__04722);
            rule__Record__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Record__Group__0"


    // $ANTLR start "rule__Record__Group__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2254:1: rule__Record__Group__0__Impl : ( 'record' ) ;
    public final void rule__Record__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2258:1: ( ( 'record' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2259:1: ( 'record' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2259:1: ( 'record' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2260:1: 'record'
            {
             before(grammarAccess.getRecordAccess().getRecordKeyword_0()); 
            match(input,30,FOLLOW_30_in_rule__Record__Group__0__Impl4750); 
             after(grammarAccess.getRecordAccess().getRecordKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Record__Group__0__Impl"


    // $ANTLR start "rule__Record__Group__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2273:1: rule__Record__Group__1 : rule__Record__Group__1__Impl rule__Record__Group__2 ;
    public final void rule__Record__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2277:1: ( rule__Record__Group__1__Impl rule__Record__Group__2 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2278:2: rule__Record__Group__1__Impl rule__Record__Group__2
            {
            pushFollow(FOLLOW_rule__Record__Group__1__Impl_in_rule__Record__Group__14781);
            rule__Record__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Record__Group__2_in_rule__Record__Group__14784);
            rule__Record__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Record__Group__1"


    // $ANTLR start "rule__Record__Group__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2285:1: rule__Record__Group__1__Impl : ( ( rule__Record__ActionAssignment_1 ) ) ;
    public final void rule__Record__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2289:1: ( ( ( rule__Record__ActionAssignment_1 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2290:1: ( ( rule__Record__ActionAssignment_1 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2290:1: ( ( rule__Record__ActionAssignment_1 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2291:1: ( rule__Record__ActionAssignment_1 )
            {
             before(grammarAccess.getRecordAccess().getActionAssignment_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2292:1: ( rule__Record__ActionAssignment_1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2292:2: rule__Record__ActionAssignment_1
            {
            pushFollow(FOLLOW_rule__Record__ActionAssignment_1_in_rule__Record__Group__1__Impl4811);
            rule__Record__ActionAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getRecordAccess().getActionAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Record__Group__1__Impl"


    // $ANTLR start "rule__Record__Group__2"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2302:1: rule__Record__Group__2 : rule__Record__Group__2__Impl rule__Record__Group__3 ;
    public final void rule__Record__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2306:1: ( rule__Record__Group__2__Impl rule__Record__Group__3 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2307:2: rule__Record__Group__2__Impl rule__Record__Group__3
            {
            pushFollow(FOLLOW_rule__Record__Group__2__Impl_in_rule__Record__Group__24841);
            rule__Record__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Record__Group__3_in_rule__Record__Group__24844);
            rule__Record__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Record__Group__2"


    // $ANTLR start "rule__Record__Group__2__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2314:1: rule__Record__Group__2__Impl : ( ( rule__Record__Group_2__0 )? ) ;
    public final void rule__Record__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2318:1: ( ( ( rule__Record__Group_2__0 )? ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2319:1: ( ( rule__Record__Group_2__0 )? )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2319:1: ( ( rule__Record__Group_2__0 )? )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2320:1: ( rule__Record__Group_2__0 )?
            {
             before(grammarAccess.getRecordAccess().getGroup_2()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2321:1: ( rule__Record__Group_2__0 )?
            int alt17=2;
            int LA17_0 = input.LA(1);

            if ( (LA17_0==31) ) {
                alt17=1;
            }
            switch (alt17) {
                case 1 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2321:2: rule__Record__Group_2__0
                    {
                    pushFollow(FOLLOW_rule__Record__Group_2__0_in_rule__Record__Group__2__Impl4871);
                    rule__Record__Group_2__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getRecordAccess().getGroup_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Record__Group__2__Impl"


    // $ANTLR start "rule__Record__Group__3"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2331:1: rule__Record__Group__3 : rule__Record__Group__3__Impl rule__Record__Group__4 ;
    public final void rule__Record__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2335:1: ( rule__Record__Group__3__Impl rule__Record__Group__4 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2336:2: rule__Record__Group__3__Impl rule__Record__Group__4
            {
            pushFollow(FOLLOW_rule__Record__Group__3__Impl_in_rule__Record__Group__34902);
            rule__Record__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Record__Group__4_in_rule__Record__Group__34905);
            rule__Record__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Record__Group__3"


    // $ANTLR start "rule__Record__Group__3__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2343:1: rule__Record__Group__3__Impl : ( ( rule__Record__Group_3__0 )? ) ;
    public final void rule__Record__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2347:1: ( ( ( rule__Record__Group_3__0 )? ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2348:1: ( ( rule__Record__Group_3__0 )? )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2348:1: ( ( rule__Record__Group_3__0 )? )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2349:1: ( rule__Record__Group_3__0 )?
            {
             before(grammarAccess.getRecordAccess().getGroup_3()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2350:1: ( rule__Record__Group_3__0 )?
            int alt18=2;
            int LA18_0 = input.LA(1);

            if ( (LA18_0==32) ) {
                alt18=1;
            }
            switch (alt18) {
                case 1 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2350:2: rule__Record__Group_3__0
                    {
                    pushFollow(FOLLOW_rule__Record__Group_3__0_in_rule__Record__Group__3__Impl4932);
                    rule__Record__Group_3__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getRecordAccess().getGroup_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Record__Group__3__Impl"


    // $ANTLR start "rule__Record__Group__4"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2360:1: rule__Record__Group__4 : rule__Record__Group__4__Impl ;
    public final void rule__Record__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2364:1: ( rule__Record__Group__4__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2365:2: rule__Record__Group__4__Impl
            {
            pushFollow(FOLLOW_rule__Record__Group__4__Impl_in_rule__Record__Group__44963);
            rule__Record__Group__4__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Record__Group__4"


    // $ANTLR start "rule__Record__Group__4__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2371:1: rule__Record__Group__4__Impl : ( ';' ) ;
    public final void rule__Record__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2375:1: ( ( ';' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2376:1: ( ';' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2376:1: ( ';' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2377:1: ';'
            {
             before(grammarAccess.getRecordAccess().getSemicolonKeyword_4()); 
            match(input,28,FOLLOW_28_in_rule__Record__Group__4__Impl4991); 
             after(grammarAccess.getRecordAccess().getSemicolonKeyword_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Record__Group__4__Impl"


    // $ANTLR start "rule__Record__Group_2__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2400:1: rule__Record__Group_2__0 : rule__Record__Group_2__0__Impl rule__Record__Group_2__1 ;
    public final void rule__Record__Group_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2404:1: ( rule__Record__Group_2__0__Impl rule__Record__Group_2__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2405:2: rule__Record__Group_2__0__Impl rule__Record__Group_2__1
            {
            pushFollow(FOLLOW_rule__Record__Group_2__0__Impl_in_rule__Record__Group_2__05032);
            rule__Record__Group_2__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Record__Group_2__1_in_rule__Record__Group_2__05035);
            rule__Record__Group_2__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Record__Group_2__0"


    // $ANTLR start "rule__Record__Group_2__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2412:1: rule__Record__Group_2__0__Impl : ( 'time:' ) ;
    public final void rule__Record__Group_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2416:1: ( ( 'time:' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2417:1: ( 'time:' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2417:1: ( 'time:' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2418:1: 'time:'
            {
             before(grammarAccess.getRecordAccess().getTimeKeyword_2_0()); 
            match(input,31,FOLLOW_31_in_rule__Record__Group_2__0__Impl5063); 
             after(grammarAccess.getRecordAccess().getTimeKeyword_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Record__Group_2__0__Impl"


    // $ANTLR start "rule__Record__Group_2__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2431:1: rule__Record__Group_2__1 : rule__Record__Group_2__1__Impl ;
    public final void rule__Record__Group_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2435:1: ( rule__Record__Group_2__1__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2436:2: rule__Record__Group_2__1__Impl
            {
            pushFollow(FOLLOW_rule__Record__Group_2__1__Impl_in_rule__Record__Group_2__15094);
            rule__Record__Group_2__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Record__Group_2__1"


    // $ANTLR start "rule__Record__Group_2__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2442:1: rule__Record__Group_2__1__Impl : ( ( rule__Record__TimeAssignment_2_1 ) ) ;
    public final void rule__Record__Group_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2446:1: ( ( ( rule__Record__TimeAssignment_2_1 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2447:1: ( ( rule__Record__TimeAssignment_2_1 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2447:1: ( ( rule__Record__TimeAssignment_2_1 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2448:1: ( rule__Record__TimeAssignment_2_1 )
            {
             before(grammarAccess.getRecordAccess().getTimeAssignment_2_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2449:1: ( rule__Record__TimeAssignment_2_1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2449:2: rule__Record__TimeAssignment_2_1
            {
            pushFollow(FOLLOW_rule__Record__TimeAssignment_2_1_in_rule__Record__Group_2__1__Impl5121);
            rule__Record__TimeAssignment_2_1();

            state._fsp--;


            }

             after(grammarAccess.getRecordAccess().getTimeAssignment_2_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Record__Group_2__1__Impl"


    // $ANTLR start "rule__Record__Group_3__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2463:1: rule__Record__Group_3__0 : rule__Record__Group_3__0__Impl rule__Record__Group_3__1 ;
    public final void rule__Record__Group_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2467:1: ( rule__Record__Group_3__0__Impl rule__Record__Group_3__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2468:2: rule__Record__Group_3__0__Impl rule__Record__Group_3__1
            {
            pushFollow(FOLLOW_rule__Record__Group_3__0__Impl_in_rule__Record__Group_3__05155);
            rule__Record__Group_3__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Record__Group_3__1_in_rule__Record__Group_3__05158);
            rule__Record__Group_3__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Record__Group_3__0"


    // $ANTLR start "rule__Record__Group_3__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2475:1: rule__Record__Group_3__0__Impl : ( 'as' ) ;
    public final void rule__Record__Group_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2479:1: ( ( 'as' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2480:1: ( 'as' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2480:1: ( 'as' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2481:1: 'as'
            {
             before(grammarAccess.getRecordAccess().getAsKeyword_3_0()); 
            match(input,32,FOLLOW_32_in_rule__Record__Group_3__0__Impl5186); 
             after(grammarAccess.getRecordAccess().getAsKeyword_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Record__Group_3__0__Impl"


    // $ANTLR start "rule__Record__Group_3__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2494:1: rule__Record__Group_3__1 : rule__Record__Group_3__1__Impl ;
    public final void rule__Record__Group_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2498:1: ( rule__Record__Group_3__1__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2499:2: rule__Record__Group_3__1__Impl
            {
            pushFollow(FOLLOW_rule__Record__Group_3__1__Impl_in_rule__Record__Group_3__15217);
            rule__Record__Group_3__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Record__Group_3__1"


    // $ANTLR start "rule__Record__Group_3__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2505:1: rule__Record__Group_3__1__Impl : ( ( rule__Record__NameAssignment_3_1 ) ) ;
    public final void rule__Record__Group_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2509:1: ( ( ( rule__Record__NameAssignment_3_1 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2510:1: ( ( rule__Record__NameAssignment_3_1 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2510:1: ( ( rule__Record__NameAssignment_3_1 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2511:1: ( rule__Record__NameAssignment_3_1 )
            {
             before(grammarAccess.getRecordAccess().getNameAssignment_3_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2512:1: ( rule__Record__NameAssignment_3_1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2512:2: rule__Record__NameAssignment_3_1
            {
            pushFollow(FOLLOW_rule__Record__NameAssignment_3_1_in_rule__Record__Group_3__1__Impl5244);
            rule__Record__NameAssignment_3_1();

            state._fsp--;


            }

             after(grammarAccess.getRecordAccess().getNameAssignment_3_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Record__Group_3__1__Impl"


    // $ANTLR start "rule__Reject__Group__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2526:1: rule__Reject__Group__0 : rule__Reject__Group__0__Impl rule__Reject__Group__1 ;
    public final void rule__Reject__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2530:1: ( rule__Reject__Group__0__Impl rule__Reject__Group__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2531:2: rule__Reject__Group__0__Impl rule__Reject__Group__1
            {
            pushFollow(FOLLOW_rule__Reject__Group__0__Impl_in_rule__Reject__Group__05278);
            rule__Reject__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Reject__Group__1_in_rule__Reject__Group__05281);
            rule__Reject__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Reject__Group__0"


    // $ANTLR start "rule__Reject__Group__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2538:1: rule__Reject__Group__0__Impl : ( ( rule__Reject__NameAssignment_0 ) ) ;
    public final void rule__Reject__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2542:1: ( ( ( rule__Reject__NameAssignment_0 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2543:1: ( ( rule__Reject__NameAssignment_0 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2543:1: ( ( rule__Reject__NameAssignment_0 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2544:1: ( rule__Reject__NameAssignment_0 )
            {
             before(grammarAccess.getRejectAccess().getNameAssignment_0()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2545:1: ( rule__Reject__NameAssignment_0 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2545:2: rule__Reject__NameAssignment_0
            {
            pushFollow(FOLLOW_rule__Reject__NameAssignment_0_in_rule__Reject__Group__0__Impl5308);
            rule__Reject__NameAssignment_0();

            state._fsp--;


            }

             after(grammarAccess.getRejectAccess().getNameAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Reject__Group__0__Impl"


    // $ANTLR start "rule__Reject__Group__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2555:1: rule__Reject__Group__1 : rule__Reject__Group__1__Impl ;
    public final void rule__Reject__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2559:1: ( rule__Reject__Group__1__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2560:2: rule__Reject__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__Reject__Group__1__Impl_in_rule__Reject__Group__15338);
            rule__Reject__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Reject__Group__1"


    // $ANTLR start "rule__Reject__Group__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2566:1: rule__Reject__Group__1__Impl : ( ';' ) ;
    public final void rule__Reject__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2570:1: ( ( ';' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2571:1: ( ';' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2571:1: ( ';' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2572:1: ';'
            {
             before(grammarAccess.getRejectAccess().getSemicolonKeyword_1()); 
            match(input,28,FOLLOW_28_in_rule__Reject__Group__1__Impl5366); 
             after(grammarAccess.getRejectAccess().getSemicolonKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Reject__Group__1__Impl"


    // $ANTLR start "rule__Hangup__Group__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2589:1: rule__Hangup__Group__0 : rule__Hangup__Group__0__Impl rule__Hangup__Group__1 ;
    public final void rule__Hangup__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2593:1: ( rule__Hangup__Group__0__Impl rule__Hangup__Group__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2594:2: rule__Hangup__Group__0__Impl rule__Hangup__Group__1
            {
            pushFollow(FOLLOW_rule__Hangup__Group__0__Impl_in_rule__Hangup__Group__05401);
            rule__Hangup__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Hangup__Group__1_in_rule__Hangup__Group__05404);
            rule__Hangup__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Hangup__Group__0"


    // $ANTLR start "rule__Hangup__Group__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2601:1: rule__Hangup__Group__0__Impl : ( ( rule__Hangup__NameAssignment_0 ) ) ;
    public final void rule__Hangup__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2605:1: ( ( ( rule__Hangup__NameAssignment_0 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2606:1: ( ( rule__Hangup__NameAssignment_0 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2606:1: ( ( rule__Hangup__NameAssignment_0 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2607:1: ( rule__Hangup__NameAssignment_0 )
            {
             before(grammarAccess.getHangupAccess().getNameAssignment_0()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2608:1: ( rule__Hangup__NameAssignment_0 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2608:2: rule__Hangup__NameAssignment_0
            {
            pushFollow(FOLLOW_rule__Hangup__NameAssignment_0_in_rule__Hangup__Group__0__Impl5431);
            rule__Hangup__NameAssignment_0();

            state._fsp--;


            }

             after(grammarAccess.getHangupAccess().getNameAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Hangup__Group__0__Impl"


    // $ANTLR start "rule__Hangup__Group__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2618:1: rule__Hangup__Group__1 : rule__Hangup__Group__1__Impl ;
    public final void rule__Hangup__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2622:1: ( rule__Hangup__Group__1__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2623:2: rule__Hangup__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__Hangup__Group__1__Impl_in_rule__Hangup__Group__15461);
            rule__Hangup__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Hangup__Group__1"


    // $ANTLR start "rule__Hangup__Group__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2629:1: rule__Hangup__Group__1__Impl : ( ';' ) ;
    public final void rule__Hangup__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2633:1: ( ( ';' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2634:1: ( ';' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2634:1: ( ';' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2635:1: ';'
            {
             before(grammarAccess.getHangupAccess().getSemicolonKeyword_1()); 
            match(input,28,FOLLOW_28_in_rule__Hangup__Group__1__Impl5489); 
             after(grammarAccess.getHangupAccess().getSemicolonKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Hangup__Group__1__Impl"


    // $ANTLR start "rule__GetDigits__Group__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2652:1: rule__GetDigits__Group__0 : rule__GetDigits__Group__0__Impl rule__GetDigits__Group__1 ;
    public final void rule__GetDigits__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2656:1: ( rule__GetDigits__Group__0__Impl rule__GetDigits__Group__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2657:2: rule__GetDigits__Group__0__Impl rule__GetDigits__Group__1
            {
            pushFollow(FOLLOW_rule__GetDigits__Group__0__Impl_in_rule__GetDigits__Group__05524);
            rule__GetDigits__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__GetDigits__Group__1_in_rule__GetDigits__Group__05527);
            rule__GetDigits__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GetDigits__Group__0"


    // $ANTLR start "rule__GetDigits__Group__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2664:1: rule__GetDigits__Group__0__Impl : ( 'getDigits' ) ;
    public final void rule__GetDigits__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2668:1: ( ( 'getDigits' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2669:1: ( 'getDigits' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2669:1: ( 'getDigits' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2670:1: 'getDigits'
            {
             before(grammarAccess.getGetDigitsAccess().getGetDigitsKeyword_0()); 
            match(input,33,FOLLOW_33_in_rule__GetDigits__Group__0__Impl5555); 
             after(grammarAccess.getGetDigitsAccess().getGetDigitsKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GetDigits__Group__0__Impl"


    // $ANTLR start "rule__GetDigits__Group__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2683:1: rule__GetDigits__Group__1 : rule__GetDigits__Group__1__Impl rule__GetDigits__Group__2 ;
    public final void rule__GetDigits__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2687:1: ( rule__GetDigits__Group__1__Impl rule__GetDigits__Group__2 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2688:2: rule__GetDigits__Group__1__Impl rule__GetDigits__Group__2
            {
            pushFollow(FOLLOW_rule__GetDigits__Group__1__Impl_in_rule__GetDigits__Group__15586);
            rule__GetDigits__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__GetDigits__Group__2_in_rule__GetDigits__Group__15589);
            rule__GetDigits__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GetDigits__Group__1"


    // $ANTLR start "rule__GetDigits__Group__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2695:1: rule__GetDigits__Group__1__Impl : ( ( rule__GetDigits__NameAssignment_1 ) ) ;
    public final void rule__GetDigits__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2699:1: ( ( ( rule__GetDigits__NameAssignment_1 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2700:1: ( ( rule__GetDigits__NameAssignment_1 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2700:1: ( ( rule__GetDigits__NameAssignment_1 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2701:1: ( rule__GetDigits__NameAssignment_1 )
            {
             before(grammarAccess.getGetDigitsAccess().getNameAssignment_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2702:1: ( rule__GetDigits__NameAssignment_1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2702:2: rule__GetDigits__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__GetDigits__NameAssignment_1_in_rule__GetDigits__Group__1__Impl5616);
            rule__GetDigits__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getGetDigitsAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GetDigits__Group__1__Impl"


    // $ANTLR start "rule__GetDigits__Group__2"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2712:1: rule__GetDigits__Group__2 : rule__GetDigits__Group__2__Impl rule__GetDigits__Group__3 ;
    public final void rule__GetDigits__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2716:1: ( rule__GetDigits__Group__2__Impl rule__GetDigits__Group__3 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2717:2: rule__GetDigits__Group__2__Impl rule__GetDigits__Group__3
            {
            pushFollow(FOLLOW_rule__GetDigits__Group__2__Impl_in_rule__GetDigits__Group__25646);
            rule__GetDigits__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__GetDigits__Group__3_in_rule__GetDigits__Group__25649);
            rule__GetDigits__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GetDigits__Group__2"


    // $ANTLR start "rule__GetDigits__Group__2__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2724:1: rule__GetDigits__Group__2__Impl : ( ':' ) ;
    public final void rule__GetDigits__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2728:1: ( ( ':' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2729:1: ( ':' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2729:1: ( ':' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2730:1: ':'
            {
             before(grammarAccess.getGetDigitsAccess().getColonKeyword_2()); 
            match(input,34,FOLLOW_34_in_rule__GetDigits__Group__2__Impl5677); 
             after(grammarAccess.getGetDigitsAccess().getColonKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GetDigits__Group__2__Impl"


    // $ANTLR start "rule__GetDigits__Group__3"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2743:1: rule__GetDigits__Group__3 : rule__GetDigits__Group__3__Impl rule__GetDigits__Group__4 ;
    public final void rule__GetDigits__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2747:1: ( rule__GetDigits__Group__3__Impl rule__GetDigits__Group__4 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2748:2: rule__GetDigits__Group__3__Impl rule__GetDigits__Group__4
            {
            pushFollow(FOLLOW_rule__GetDigits__Group__3__Impl_in_rule__GetDigits__Group__35708);
            rule__GetDigits__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__GetDigits__Group__4_in_rule__GetDigits__Group__35711);
            rule__GetDigits__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GetDigits__Group__3"


    // $ANTLR start "rule__GetDigits__Group__3__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2755:1: rule__GetDigits__Group__3__Impl : ( ( rule__GetDigits__QuestionAssignment_3 ) ) ;
    public final void rule__GetDigits__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2759:1: ( ( ( rule__GetDigits__QuestionAssignment_3 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2760:1: ( ( rule__GetDigits__QuestionAssignment_3 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2760:1: ( ( rule__GetDigits__QuestionAssignment_3 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2761:1: ( rule__GetDigits__QuestionAssignment_3 )
            {
             before(grammarAccess.getGetDigitsAccess().getQuestionAssignment_3()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2762:1: ( rule__GetDigits__QuestionAssignment_3 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2762:2: rule__GetDigits__QuestionAssignment_3
            {
            pushFollow(FOLLOW_rule__GetDigits__QuestionAssignment_3_in_rule__GetDigits__Group__3__Impl5738);
            rule__GetDigits__QuestionAssignment_3();

            state._fsp--;


            }

             after(grammarAccess.getGetDigitsAccess().getQuestionAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GetDigits__Group__3__Impl"


    // $ANTLR start "rule__GetDigits__Group__4"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2772:1: rule__GetDigits__Group__4 : rule__GetDigits__Group__4__Impl rule__GetDigits__Group__5 ;
    public final void rule__GetDigits__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2776:1: ( rule__GetDigits__Group__4__Impl rule__GetDigits__Group__5 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2777:2: rule__GetDigits__Group__4__Impl rule__GetDigits__Group__5
            {
            pushFollow(FOLLOW_rule__GetDigits__Group__4__Impl_in_rule__GetDigits__Group__45768);
            rule__GetDigits__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__GetDigits__Group__5_in_rule__GetDigits__Group__45771);
            rule__GetDigits__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GetDigits__Group__4"


    // $ANTLR start "rule__GetDigits__Group__4__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2784:1: rule__GetDigits__Group__4__Impl : ( 'num:' ) ;
    public final void rule__GetDigits__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2788:1: ( ( 'num:' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2789:1: ( 'num:' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2789:1: ( 'num:' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2790:1: 'num:'
            {
             before(grammarAccess.getGetDigitsAccess().getNumKeyword_4()); 
            match(input,35,FOLLOW_35_in_rule__GetDigits__Group__4__Impl5799); 
             after(grammarAccess.getGetDigitsAccess().getNumKeyword_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GetDigits__Group__4__Impl"


    // $ANTLR start "rule__GetDigits__Group__5"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2803:1: rule__GetDigits__Group__5 : rule__GetDigits__Group__5__Impl rule__GetDigits__Group__6 ;
    public final void rule__GetDigits__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2807:1: ( rule__GetDigits__Group__5__Impl rule__GetDigits__Group__6 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2808:2: rule__GetDigits__Group__5__Impl rule__GetDigits__Group__6
            {
            pushFollow(FOLLOW_rule__GetDigits__Group__5__Impl_in_rule__GetDigits__Group__55830);
            rule__GetDigits__Group__5__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__GetDigits__Group__6_in_rule__GetDigits__Group__55833);
            rule__GetDigits__Group__6();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GetDigits__Group__5"


    // $ANTLR start "rule__GetDigits__Group__5__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2815:1: rule__GetDigits__Group__5__Impl : ( ( rule__GetDigits__NumDigitsAssignment_5 ) ) ;
    public final void rule__GetDigits__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2819:1: ( ( ( rule__GetDigits__NumDigitsAssignment_5 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2820:1: ( ( rule__GetDigits__NumDigitsAssignment_5 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2820:1: ( ( rule__GetDigits__NumDigitsAssignment_5 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2821:1: ( rule__GetDigits__NumDigitsAssignment_5 )
            {
             before(grammarAccess.getGetDigitsAccess().getNumDigitsAssignment_5()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2822:1: ( rule__GetDigits__NumDigitsAssignment_5 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2822:2: rule__GetDigits__NumDigitsAssignment_5
            {
            pushFollow(FOLLOW_rule__GetDigits__NumDigitsAssignment_5_in_rule__GetDigits__Group__5__Impl5860);
            rule__GetDigits__NumDigitsAssignment_5();

            state._fsp--;


            }

             after(grammarAccess.getGetDigitsAccess().getNumDigitsAssignment_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GetDigits__Group__5__Impl"


    // $ANTLR start "rule__GetDigits__Group__6"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2832:1: rule__GetDigits__Group__6 : rule__GetDigits__Group__6__Impl ;
    public final void rule__GetDigits__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2836:1: ( rule__GetDigits__Group__6__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2837:2: rule__GetDigits__Group__6__Impl
            {
            pushFollow(FOLLOW_rule__GetDigits__Group__6__Impl_in_rule__GetDigits__Group__65890);
            rule__GetDigits__Group__6__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GetDigits__Group__6"


    // $ANTLR start "rule__GetDigits__Group__6__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2843:1: rule__GetDigits__Group__6__Impl : ( ';' ) ;
    public final void rule__GetDigits__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2847:1: ( ( ';' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2848:1: ( ';' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2848:1: ( ';' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2849:1: ';'
            {
             before(grammarAccess.getGetDigitsAccess().getSemicolonKeyword_6()); 
            match(input,28,FOLLOW_28_in_rule__GetDigits__Group__6__Impl5918); 
             after(grammarAccess.getGetDigitsAccess().getSemicolonKeyword_6()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GetDigits__Group__6__Impl"


    // $ANTLR start "rule__Ask__Group__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2876:1: rule__Ask__Group__0 : rule__Ask__Group__0__Impl rule__Ask__Group__1 ;
    public final void rule__Ask__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2880:1: ( rule__Ask__Group__0__Impl rule__Ask__Group__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2881:2: rule__Ask__Group__0__Impl rule__Ask__Group__1
            {
            pushFollow(FOLLOW_rule__Ask__Group__0__Impl_in_rule__Ask__Group__05963);
            rule__Ask__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Ask__Group__1_in_rule__Ask__Group__05966);
            rule__Ask__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Ask__Group__0"


    // $ANTLR start "rule__Ask__Group__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2888:1: rule__Ask__Group__0__Impl : ( 'ask' ) ;
    public final void rule__Ask__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2892:1: ( ( 'ask' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2893:1: ( 'ask' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2893:1: ( 'ask' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2894:1: 'ask'
            {
             before(grammarAccess.getAskAccess().getAskKeyword_0()); 
            match(input,36,FOLLOW_36_in_rule__Ask__Group__0__Impl5994); 
             after(grammarAccess.getAskAccess().getAskKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Ask__Group__0__Impl"


    // $ANTLR start "rule__Ask__Group__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2907:1: rule__Ask__Group__1 : rule__Ask__Group__1__Impl rule__Ask__Group__2 ;
    public final void rule__Ask__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2911:1: ( rule__Ask__Group__1__Impl rule__Ask__Group__2 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2912:2: rule__Ask__Group__1__Impl rule__Ask__Group__2
            {
            pushFollow(FOLLOW_rule__Ask__Group__1__Impl_in_rule__Ask__Group__16025);
            rule__Ask__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Ask__Group__2_in_rule__Ask__Group__16028);
            rule__Ask__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Ask__Group__1"


    // $ANTLR start "rule__Ask__Group__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2919:1: rule__Ask__Group__1__Impl : ( ( rule__Ask__NameAssignment_1 ) ) ;
    public final void rule__Ask__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2923:1: ( ( ( rule__Ask__NameAssignment_1 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2924:1: ( ( rule__Ask__NameAssignment_1 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2924:1: ( ( rule__Ask__NameAssignment_1 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2925:1: ( rule__Ask__NameAssignment_1 )
            {
             before(grammarAccess.getAskAccess().getNameAssignment_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2926:1: ( rule__Ask__NameAssignment_1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2926:2: rule__Ask__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__Ask__NameAssignment_1_in_rule__Ask__Group__1__Impl6055);
            rule__Ask__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getAskAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Ask__Group__1__Impl"


    // $ANTLR start "rule__Ask__Group__2"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2936:1: rule__Ask__Group__2 : rule__Ask__Group__2__Impl rule__Ask__Group__3 ;
    public final void rule__Ask__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2940:1: ( rule__Ask__Group__2__Impl rule__Ask__Group__3 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2941:2: rule__Ask__Group__2__Impl rule__Ask__Group__3
            {
            pushFollow(FOLLOW_rule__Ask__Group__2__Impl_in_rule__Ask__Group__26085);
            rule__Ask__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Ask__Group__3_in_rule__Ask__Group__26088);
            rule__Ask__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Ask__Group__2"


    // $ANTLR start "rule__Ask__Group__2__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2948:1: rule__Ask__Group__2__Impl : ( ':' ) ;
    public final void rule__Ask__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2952:1: ( ( ':' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2953:1: ( ':' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2953:1: ( ':' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2954:1: ':'
            {
             before(grammarAccess.getAskAccess().getColonKeyword_2()); 
            match(input,34,FOLLOW_34_in_rule__Ask__Group__2__Impl6116); 
             after(grammarAccess.getAskAccess().getColonKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Ask__Group__2__Impl"


    // $ANTLR start "rule__Ask__Group__3"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2967:1: rule__Ask__Group__3 : rule__Ask__Group__3__Impl rule__Ask__Group__4 ;
    public final void rule__Ask__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2971:1: ( rule__Ask__Group__3__Impl rule__Ask__Group__4 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2972:2: rule__Ask__Group__3__Impl rule__Ask__Group__4
            {
            pushFollow(FOLLOW_rule__Ask__Group__3__Impl_in_rule__Ask__Group__36147);
            rule__Ask__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Ask__Group__4_in_rule__Ask__Group__36150);
            rule__Ask__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Ask__Group__3"


    // $ANTLR start "rule__Ask__Group__3__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2979:1: rule__Ask__Group__3__Impl : ( ( rule__Ask__QuestionAssignment_3 ) ) ;
    public final void rule__Ask__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2983:1: ( ( ( rule__Ask__QuestionAssignment_3 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2984:1: ( ( rule__Ask__QuestionAssignment_3 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2984:1: ( ( rule__Ask__QuestionAssignment_3 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2985:1: ( rule__Ask__QuestionAssignment_3 )
            {
             before(grammarAccess.getAskAccess().getQuestionAssignment_3()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2986:1: ( rule__Ask__QuestionAssignment_3 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2986:2: rule__Ask__QuestionAssignment_3
            {
            pushFollow(FOLLOW_rule__Ask__QuestionAssignment_3_in_rule__Ask__Group__3__Impl6177);
            rule__Ask__QuestionAssignment_3();

            state._fsp--;


            }

             after(grammarAccess.getAskAccess().getQuestionAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Ask__Group__3__Impl"


    // $ANTLR start "rule__Ask__Group__4"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:2996:1: rule__Ask__Group__4 : rule__Ask__Group__4__Impl rule__Ask__Group__5 ;
    public final void rule__Ask__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3000:1: ( rule__Ask__Group__4__Impl rule__Ask__Group__5 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3001:2: rule__Ask__Group__4__Impl rule__Ask__Group__5
            {
            pushFollow(FOLLOW_rule__Ask__Group__4__Impl_in_rule__Ask__Group__46207);
            rule__Ask__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Ask__Group__5_in_rule__Ask__Group__46210);
            rule__Ask__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Ask__Group__4"


    // $ANTLR start "rule__Ask__Group__4__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3008:1: rule__Ask__Group__4__Impl : ( ( rule__Ask__Group_4__0 )? ) ;
    public final void rule__Ask__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3012:1: ( ( ( rule__Ask__Group_4__0 )? ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3013:1: ( ( rule__Ask__Group_4__0 )? )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3013:1: ( ( rule__Ask__Group_4__0 )? )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3014:1: ( rule__Ask__Group_4__0 )?
            {
             before(grammarAccess.getAskAccess().getGroup_4()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3015:1: ( rule__Ask__Group_4__0 )?
            int alt19=2;
            int LA19_0 = input.LA(1);

            if ( (LA19_0==37) ) {
                alt19=1;
            }
            switch (alt19) {
                case 1 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3015:2: rule__Ask__Group_4__0
                    {
                    pushFollow(FOLLOW_rule__Ask__Group_4__0_in_rule__Ask__Group__4__Impl6237);
                    rule__Ask__Group_4__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getAskAccess().getGroup_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Ask__Group__4__Impl"


    // $ANTLR start "rule__Ask__Group__5"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3025:1: rule__Ask__Group__5 : rule__Ask__Group__5__Impl ;
    public final void rule__Ask__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3029:1: ( rule__Ask__Group__5__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3030:2: rule__Ask__Group__5__Impl
            {
            pushFollow(FOLLOW_rule__Ask__Group__5__Impl_in_rule__Ask__Group__56268);
            rule__Ask__Group__5__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Ask__Group__5"


    // $ANTLR start "rule__Ask__Group__5__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3036:1: rule__Ask__Group__5__Impl : ( ';' ) ;
    public final void rule__Ask__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3040:1: ( ( ';' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3041:1: ( ';' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3041:1: ( ';' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3042:1: ';'
            {
             before(grammarAccess.getAskAccess().getSemicolonKeyword_5()); 
            match(input,28,FOLLOW_28_in_rule__Ask__Group__5__Impl6296); 
             after(grammarAccess.getAskAccess().getSemicolonKeyword_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Ask__Group__5__Impl"


    // $ANTLR start "rule__Ask__Group_4__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3067:1: rule__Ask__Group_4__0 : rule__Ask__Group_4__0__Impl rule__Ask__Group_4__1 ;
    public final void rule__Ask__Group_4__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3071:1: ( rule__Ask__Group_4__0__Impl rule__Ask__Group_4__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3072:2: rule__Ask__Group_4__0__Impl rule__Ask__Group_4__1
            {
            pushFollow(FOLLOW_rule__Ask__Group_4__0__Impl_in_rule__Ask__Group_4__06339);
            rule__Ask__Group_4__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Ask__Group_4__1_in_rule__Ask__Group_4__06342);
            rule__Ask__Group_4__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Ask__Group_4__0"


    // $ANTLR start "rule__Ask__Group_4__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3079:1: rule__Ask__Group_4__0__Impl : ( '(' ) ;
    public final void rule__Ask__Group_4__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3083:1: ( ( '(' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3084:1: ( '(' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3084:1: ( '(' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3085:1: '('
            {
             before(grammarAccess.getAskAccess().getLeftParenthesisKeyword_4_0()); 
            match(input,37,FOLLOW_37_in_rule__Ask__Group_4__0__Impl6370); 
             after(grammarAccess.getAskAccess().getLeftParenthesisKeyword_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Ask__Group_4__0__Impl"


    // $ANTLR start "rule__Ask__Group_4__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3098:1: rule__Ask__Group_4__1 : rule__Ask__Group_4__1__Impl rule__Ask__Group_4__2 ;
    public final void rule__Ask__Group_4__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3102:1: ( rule__Ask__Group_4__1__Impl rule__Ask__Group_4__2 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3103:2: rule__Ask__Group_4__1__Impl rule__Ask__Group_4__2
            {
            pushFollow(FOLLOW_rule__Ask__Group_4__1__Impl_in_rule__Ask__Group_4__16401);
            rule__Ask__Group_4__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Ask__Group_4__2_in_rule__Ask__Group_4__16404);
            rule__Ask__Group_4__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Ask__Group_4__1"


    // $ANTLR start "rule__Ask__Group_4__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3110:1: rule__Ask__Group_4__1__Impl : ( ( rule__Ask__Group_4_1__0 ) ) ;
    public final void rule__Ask__Group_4__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3114:1: ( ( ( rule__Ask__Group_4_1__0 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3115:1: ( ( rule__Ask__Group_4_1__0 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3115:1: ( ( rule__Ask__Group_4_1__0 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3116:1: ( rule__Ask__Group_4_1__0 )
            {
             before(grammarAccess.getAskAccess().getGroup_4_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3117:1: ( rule__Ask__Group_4_1__0 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3117:2: rule__Ask__Group_4_1__0
            {
            pushFollow(FOLLOW_rule__Ask__Group_4_1__0_in_rule__Ask__Group_4__1__Impl6431);
            rule__Ask__Group_4_1__0();

            state._fsp--;


            }

             after(grammarAccess.getAskAccess().getGroup_4_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Ask__Group_4__1__Impl"


    // $ANTLR start "rule__Ask__Group_4__2"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3127:1: rule__Ask__Group_4__2 : rule__Ask__Group_4__2__Impl ;
    public final void rule__Ask__Group_4__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3131:1: ( rule__Ask__Group_4__2__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3132:2: rule__Ask__Group_4__2__Impl
            {
            pushFollow(FOLLOW_rule__Ask__Group_4__2__Impl_in_rule__Ask__Group_4__26461);
            rule__Ask__Group_4__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Ask__Group_4__2"


    // $ANTLR start "rule__Ask__Group_4__2__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3138:1: rule__Ask__Group_4__2__Impl : ( ')' ) ;
    public final void rule__Ask__Group_4__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3142:1: ( ( ')' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3143:1: ( ')' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3143:1: ( ')' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3144:1: ')'
            {
             before(grammarAccess.getAskAccess().getRightParenthesisKeyword_4_2()); 
            match(input,38,FOLLOW_38_in_rule__Ask__Group_4__2__Impl6489); 
             after(grammarAccess.getAskAccess().getRightParenthesisKeyword_4_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Ask__Group_4__2__Impl"


    // $ANTLR start "rule__Ask__Group_4_1__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3163:1: rule__Ask__Group_4_1__0 : rule__Ask__Group_4_1__0__Impl rule__Ask__Group_4_1__1 ;
    public final void rule__Ask__Group_4_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3167:1: ( rule__Ask__Group_4_1__0__Impl rule__Ask__Group_4_1__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3168:2: rule__Ask__Group_4_1__0__Impl rule__Ask__Group_4_1__1
            {
            pushFollow(FOLLOW_rule__Ask__Group_4_1__0__Impl_in_rule__Ask__Group_4_1__06526);
            rule__Ask__Group_4_1__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Ask__Group_4_1__1_in_rule__Ask__Group_4_1__06529);
            rule__Ask__Group_4_1__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Ask__Group_4_1__0"


    // $ANTLR start "rule__Ask__Group_4_1__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3175:1: rule__Ask__Group_4_1__0__Impl : ( 'choices:' ) ;
    public final void rule__Ask__Group_4_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3179:1: ( ( 'choices:' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3180:1: ( 'choices:' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3180:1: ( 'choices:' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3181:1: 'choices:'
            {
             before(grammarAccess.getAskAccess().getChoicesKeyword_4_1_0()); 
            match(input,39,FOLLOW_39_in_rule__Ask__Group_4_1__0__Impl6557); 
             after(grammarAccess.getAskAccess().getChoicesKeyword_4_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Ask__Group_4_1__0__Impl"


    // $ANTLR start "rule__Ask__Group_4_1__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3194:1: rule__Ask__Group_4_1__1 : rule__Ask__Group_4_1__1__Impl ;
    public final void rule__Ask__Group_4_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3198:1: ( rule__Ask__Group_4_1__1__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3199:2: rule__Ask__Group_4_1__1__Impl
            {
            pushFollow(FOLLOW_rule__Ask__Group_4_1__1__Impl_in_rule__Ask__Group_4_1__16588);
            rule__Ask__Group_4_1__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Ask__Group_4_1__1"


    // $ANTLR start "rule__Ask__Group_4_1__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3205:1: rule__Ask__Group_4_1__1__Impl : ( ( rule__Ask__ChoicesAssignment_4_1_1 ) ) ;
    public final void rule__Ask__Group_4_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3209:1: ( ( ( rule__Ask__ChoicesAssignment_4_1_1 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3210:1: ( ( rule__Ask__ChoicesAssignment_4_1_1 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3210:1: ( ( rule__Ask__ChoicesAssignment_4_1_1 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3211:1: ( rule__Ask__ChoicesAssignment_4_1_1 )
            {
             before(grammarAccess.getAskAccess().getChoicesAssignment_4_1_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3212:1: ( rule__Ask__ChoicesAssignment_4_1_1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3212:2: rule__Ask__ChoicesAssignment_4_1_1
            {
            pushFollow(FOLLOW_rule__Ask__ChoicesAssignment_4_1_1_in_rule__Ask__Group_4_1__1__Impl6615);
            rule__Ask__ChoicesAssignment_4_1_1();

            state._fsp--;


            }

             after(grammarAccess.getAskAccess().getChoicesAssignment_4_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Ask__Group_4_1__1__Impl"


    // $ANTLR start "rule__Send__Group__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3226:1: rule__Send__Group__0 : rule__Send__Group__0__Impl rule__Send__Group__1 ;
    public final void rule__Send__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3230:1: ( rule__Send__Group__0__Impl rule__Send__Group__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3231:2: rule__Send__Group__0__Impl rule__Send__Group__1
            {
            pushFollow(FOLLOW_rule__Send__Group__0__Impl_in_rule__Send__Group__06649);
            rule__Send__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Send__Group__1_in_rule__Send__Group__06652);
            rule__Send__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Send__Group__0"


    // $ANTLR start "rule__Send__Group__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3238:1: rule__Send__Group__0__Impl : ( 'sendAs' ) ;
    public final void rule__Send__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3242:1: ( ( 'sendAs' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3243:1: ( 'sendAs' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3243:1: ( 'sendAs' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3244:1: 'sendAs'
            {
             before(grammarAccess.getSendAccess().getSendAsKeyword_0()); 
            match(input,40,FOLLOW_40_in_rule__Send__Group__0__Impl6680); 
             after(grammarAccess.getSendAccess().getSendAsKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Send__Group__0__Impl"


    // $ANTLR start "rule__Send__Group__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3257:1: rule__Send__Group__1 : rule__Send__Group__1__Impl rule__Send__Group__2 ;
    public final void rule__Send__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3261:1: ( rule__Send__Group__1__Impl rule__Send__Group__2 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3262:2: rule__Send__Group__1__Impl rule__Send__Group__2
            {
            pushFollow(FOLLOW_rule__Send__Group__1__Impl_in_rule__Send__Group__16711);
            rule__Send__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Send__Group__2_in_rule__Send__Group__16714);
            rule__Send__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Send__Group__1"


    // $ANTLR start "rule__Send__Group__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3269:1: rule__Send__Group__1__Impl : ( ( rule__Send__NameAssignment_1 ) ) ;
    public final void rule__Send__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3273:1: ( ( ( rule__Send__NameAssignment_1 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3274:1: ( ( rule__Send__NameAssignment_1 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3274:1: ( ( rule__Send__NameAssignment_1 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3275:1: ( rule__Send__NameAssignment_1 )
            {
             before(grammarAccess.getSendAccess().getNameAssignment_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3276:1: ( rule__Send__NameAssignment_1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3276:2: rule__Send__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__Send__NameAssignment_1_in_rule__Send__Group__1__Impl6741);
            rule__Send__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getSendAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Send__Group__1__Impl"


    // $ANTLR start "rule__Send__Group__2"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3286:1: rule__Send__Group__2 : rule__Send__Group__2__Impl rule__Send__Group__3 ;
    public final void rule__Send__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3290:1: ( rule__Send__Group__2__Impl rule__Send__Group__3 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3291:2: rule__Send__Group__2__Impl rule__Send__Group__3
            {
            pushFollow(FOLLOW_rule__Send__Group__2__Impl_in_rule__Send__Group__26771);
            rule__Send__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Send__Group__3_in_rule__Send__Group__26774);
            rule__Send__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Send__Group__2"


    // $ANTLR start "rule__Send__Group__2__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3298:1: rule__Send__Group__2__Impl : ( ( rule__Send__ThatAssignment_2 ) ) ;
    public final void rule__Send__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3302:1: ( ( ( rule__Send__ThatAssignment_2 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3303:1: ( ( rule__Send__ThatAssignment_2 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3303:1: ( ( rule__Send__ThatAssignment_2 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3304:1: ( rule__Send__ThatAssignment_2 )
            {
             before(grammarAccess.getSendAccess().getThatAssignment_2()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3305:1: ( rule__Send__ThatAssignment_2 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3305:2: rule__Send__ThatAssignment_2
            {
            pushFollow(FOLLOW_rule__Send__ThatAssignment_2_in_rule__Send__Group__2__Impl6801);
            rule__Send__ThatAssignment_2();

            state._fsp--;


            }

             after(grammarAccess.getSendAccess().getThatAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Send__Group__2__Impl"


    // $ANTLR start "rule__Send__Group__3"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3315:1: rule__Send__Group__3 : rule__Send__Group__3__Impl rule__Send__Group__4 ;
    public final void rule__Send__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3319:1: ( rule__Send__Group__3__Impl rule__Send__Group__4 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3320:2: rule__Send__Group__3__Impl rule__Send__Group__4
            {
            pushFollow(FOLLOW_rule__Send__Group__3__Impl_in_rule__Send__Group__36831);
            rule__Send__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Send__Group__4_in_rule__Send__Group__36834);
            rule__Send__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Send__Group__3"


    // $ANTLR start "rule__Send__Group__3__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3327:1: rule__Send__Group__3__Impl : ( 'to' ) ;
    public final void rule__Send__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3331:1: ( ( 'to' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3332:1: ( 'to' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3332:1: ( 'to' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3333:1: 'to'
            {
             before(grammarAccess.getSendAccess().getToKeyword_3()); 
            match(input,41,FOLLOW_41_in_rule__Send__Group__3__Impl6862); 
             after(grammarAccess.getSendAccess().getToKeyword_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Send__Group__3__Impl"


    // $ANTLR start "rule__Send__Group__4"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3346:1: rule__Send__Group__4 : rule__Send__Group__4__Impl rule__Send__Group__5 ;
    public final void rule__Send__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3350:1: ( rule__Send__Group__4__Impl rule__Send__Group__5 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3351:2: rule__Send__Group__4__Impl rule__Send__Group__5
            {
            pushFollow(FOLLOW_rule__Send__Group__4__Impl_in_rule__Send__Group__46893);
            rule__Send__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Send__Group__5_in_rule__Send__Group__46896);
            rule__Send__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Send__Group__4"


    // $ANTLR start "rule__Send__Group__4__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3358:1: rule__Send__Group__4__Impl : ( ( rule__Send__UriAssignment_4 ) ) ;
    public final void rule__Send__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3362:1: ( ( ( rule__Send__UriAssignment_4 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3363:1: ( ( rule__Send__UriAssignment_4 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3363:1: ( ( rule__Send__UriAssignment_4 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3364:1: ( rule__Send__UriAssignment_4 )
            {
             before(grammarAccess.getSendAccess().getUriAssignment_4()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3365:1: ( rule__Send__UriAssignment_4 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3365:2: rule__Send__UriAssignment_4
            {
            pushFollow(FOLLOW_rule__Send__UriAssignment_4_in_rule__Send__Group__4__Impl6923);
            rule__Send__UriAssignment_4();

            state._fsp--;


            }

             after(grammarAccess.getSendAccess().getUriAssignment_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Send__Group__4__Impl"


    // $ANTLR start "rule__Send__Group__5"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3375:1: rule__Send__Group__5 : rule__Send__Group__5__Impl ;
    public final void rule__Send__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3379:1: ( rule__Send__Group__5__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3380:2: rule__Send__Group__5__Impl
            {
            pushFollow(FOLLOW_rule__Send__Group__5__Impl_in_rule__Send__Group__56953);
            rule__Send__Group__5__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Send__Group__5"


    // $ANTLR start "rule__Send__Group__5__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3386:1: rule__Send__Group__5__Impl : ( ';' ) ;
    public final void rule__Send__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3390:1: ( ( ';' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3391:1: ( ';' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3391:1: ( ';' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3392:1: ';'
            {
             before(grammarAccess.getSendAccess().getSemicolonKeyword_5()); 
            match(input,28,FOLLOW_28_in_rule__Send__Group__5__Impl6981); 
             after(grammarAccess.getSendAccess().getSemicolonKeyword_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Send__Group__5__Impl"


    // $ANTLR start "rule__Say__Group__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3417:1: rule__Say__Group__0 : rule__Say__Group__0__Impl rule__Say__Group__1 ;
    public final void rule__Say__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3421:1: ( rule__Say__Group__0__Impl rule__Say__Group__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3422:2: rule__Say__Group__0__Impl rule__Say__Group__1
            {
            pushFollow(FOLLOW_rule__Say__Group__0__Impl_in_rule__Say__Group__07024);
            rule__Say__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Say__Group__1_in_rule__Say__Group__07027);
            rule__Say__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Say__Group__0"


    // $ANTLR start "rule__Say__Group__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3429:1: rule__Say__Group__0__Impl : ( 'say' ) ;
    public final void rule__Say__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3433:1: ( ( 'say' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3434:1: ( 'say' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3434:1: ( 'say' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3435:1: 'say'
            {
             before(grammarAccess.getSayAccess().getSayKeyword_0()); 
            match(input,42,FOLLOW_42_in_rule__Say__Group__0__Impl7055); 
             after(grammarAccess.getSayAccess().getSayKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Say__Group__0__Impl"


    // $ANTLR start "rule__Say__Group__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3448:1: rule__Say__Group__1 : rule__Say__Group__1__Impl rule__Say__Group__2 ;
    public final void rule__Say__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3452:1: ( rule__Say__Group__1__Impl rule__Say__Group__2 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3453:2: rule__Say__Group__1__Impl rule__Say__Group__2
            {
            pushFollow(FOLLOW_rule__Say__Group__1__Impl_in_rule__Say__Group__17086);
            rule__Say__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Say__Group__2_in_rule__Say__Group__17089);
            rule__Say__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Say__Group__1"


    // $ANTLR start "rule__Say__Group__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3460:1: rule__Say__Group__1__Impl : ( ( rule__Say__ThatAssignment_1 ) ) ;
    public final void rule__Say__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3464:1: ( ( ( rule__Say__ThatAssignment_1 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3465:1: ( ( rule__Say__ThatAssignment_1 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3465:1: ( ( rule__Say__ThatAssignment_1 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3466:1: ( rule__Say__ThatAssignment_1 )
            {
             before(grammarAccess.getSayAccess().getThatAssignment_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3467:1: ( rule__Say__ThatAssignment_1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3467:2: rule__Say__ThatAssignment_1
            {
            pushFollow(FOLLOW_rule__Say__ThatAssignment_1_in_rule__Say__Group__1__Impl7116);
            rule__Say__ThatAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getSayAccess().getThatAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Say__Group__1__Impl"


    // $ANTLR start "rule__Say__Group__2"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3477:1: rule__Say__Group__2 : rule__Say__Group__2__Impl ;
    public final void rule__Say__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3481:1: ( rule__Say__Group__2__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3482:2: rule__Say__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__Say__Group__2__Impl_in_rule__Say__Group__27146);
            rule__Say__Group__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Say__Group__2"


    // $ANTLR start "rule__Say__Group__2__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3488:1: rule__Say__Group__2__Impl : ( ';' ) ;
    public final void rule__Say__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3492:1: ( ( ';' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3493:1: ( ';' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3493:1: ( ';' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3494:1: ';'
            {
             before(grammarAccess.getSayAccess().getSemicolonKeyword_2()); 
            match(input,28,FOLLOW_28_in_rule__Say__Group__2__Impl7174); 
             after(grammarAccess.getSayAccess().getSemicolonKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Say__Group__2__Impl"


    // $ANTLR start "rule__Transition__Group__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3513:1: rule__Transition__Group__0 : rule__Transition__Group__0__Impl rule__Transition__Group__1 ;
    public final void rule__Transition__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3517:1: ( rule__Transition__Group__0__Impl rule__Transition__Group__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3518:2: rule__Transition__Group__0__Impl rule__Transition__Group__1
            {
            pushFollow(FOLLOW_rule__Transition__Group__0__Impl_in_rule__Transition__Group__07211);
            rule__Transition__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Transition__Group__1_in_rule__Transition__Group__07214);
            rule__Transition__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Transition__Group__0"


    // $ANTLR start "rule__Transition__Group__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3525:1: rule__Transition__Group__0__Impl : ( 'goTo' ) ;
    public final void rule__Transition__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3529:1: ( ( 'goTo' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3530:1: ( 'goTo' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3530:1: ( 'goTo' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3531:1: 'goTo'
            {
             before(grammarAccess.getTransitionAccess().getGoToKeyword_0()); 
            match(input,43,FOLLOW_43_in_rule__Transition__Group__0__Impl7242); 
             after(grammarAccess.getTransitionAccess().getGoToKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Transition__Group__0__Impl"


    // $ANTLR start "rule__Transition__Group__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3544:1: rule__Transition__Group__1 : rule__Transition__Group__1__Impl rule__Transition__Group__2 ;
    public final void rule__Transition__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3548:1: ( rule__Transition__Group__1__Impl rule__Transition__Group__2 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3549:2: rule__Transition__Group__1__Impl rule__Transition__Group__2
            {
            pushFollow(FOLLOW_rule__Transition__Group__1__Impl_in_rule__Transition__Group__17273);
            rule__Transition__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Transition__Group__2_in_rule__Transition__Group__17276);
            rule__Transition__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Transition__Group__1"


    // $ANTLR start "rule__Transition__Group__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3556:1: rule__Transition__Group__1__Impl : ( ( rule__Transition__TargetAssignment_1 ) ) ;
    public final void rule__Transition__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3560:1: ( ( ( rule__Transition__TargetAssignment_1 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3561:1: ( ( rule__Transition__TargetAssignment_1 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3561:1: ( ( rule__Transition__TargetAssignment_1 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3562:1: ( rule__Transition__TargetAssignment_1 )
            {
             before(grammarAccess.getTransitionAccess().getTargetAssignment_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3563:1: ( rule__Transition__TargetAssignment_1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3563:2: rule__Transition__TargetAssignment_1
            {
            pushFollow(FOLLOW_rule__Transition__TargetAssignment_1_in_rule__Transition__Group__1__Impl7303);
            rule__Transition__TargetAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getTransitionAccess().getTargetAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Transition__Group__1__Impl"


    // $ANTLR start "rule__Transition__Group__2"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3573:1: rule__Transition__Group__2 : rule__Transition__Group__2__Impl rule__Transition__Group__3 ;
    public final void rule__Transition__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3577:1: ( rule__Transition__Group__2__Impl rule__Transition__Group__3 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3578:2: rule__Transition__Group__2__Impl rule__Transition__Group__3
            {
            pushFollow(FOLLOW_rule__Transition__Group__2__Impl_in_rule__Transition__Group__27333);
            rule__Transition__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Transition__Group__3_in_rule__Transition__Group__27336);
            rule__Transition__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Transition__Group__2"


    // $ANTLR start "rule__Transition__Group__2__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3585:1: rule__Transition__Group__2__Impl : ( 'when' ) ;
    public final void rule__Transition__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3589:1: ( ( 'when' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3590:1: ( 'when' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3590:1: ( 'when' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3591:1: 'when'
            {
             before(grammarAccess.getTransitionAccess().getWhenKeyword_2()); 
            match(input,44,FOLLOW_44_in_rule__Transition__Group__2__Impl7364); 
             after(grammarAccess.getTransitionAccess().getWhenKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Transition__Group__2__Impl"


    // $ANTLR start "rule__Transition__Group__3"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3604:1: rule__Transition__Group__3 : rule__Transition__Group__3__Impl rule__Transition__Group__4 ;
    public final void rule__Transition__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3608:1: ( rule__Transition__Group__3__Impl rule__Transition__Group__4 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3609:2: rule__Transition__Group__3__Impl rule__Transition__Group__4
            {
            pushFollow(FOLLOW_rule__Transition__Group__3__Impl_in_rule__Transition__Group__37395);
            rule__Transition__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Transition__Group__4_in_rule__Transition__Group__37398);
            rule__Transition__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Transition__Group__3"


    // $ANTLR start "rule__Transition__Group__3__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3616:1: rule__Transition__Group__3__Impl : ( ( rule__Transition__EventAssignment_3 ) ) ;
    public final void rule__Transition__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3620:1: ( ( ( rule__Transition__EventAssignment_3 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3621:1: ( ( rule__Transition__EventAssignment_3 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3621:1: ( ( rule__Transition__EventAssignment_3 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3622:1: ( rule__Transition__EventAssignment_3 )
            {
             before(grammarAccess.getTransitionAccess().getEventAssignment_3()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3623:1: ( rule__Transition__EventAssignment_3 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3623:2: rule__Transition__EventAssignment_3
            {
            pushFollow(FOLLOW_rule__Transition__EventAssignment_3_in_rule__Transition__Group__3__Impl7425);
            rule__Transition__EventAssignment_3();

            state._fsp--;


            }

             after(grammarAccess.getTransitionAccess().getEventAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Transition__Group__3__Impl"


    // $ANTLR start "rule__Transition__Group__4"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3633:1: rule__Transition__Group__4 : rule__Transition__Group__4__Impl ;
    public final void rule__Transition__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3637:1: ( rule__Transition__Group__4__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3638:2: rule__Transition__Group__4__Impl
            {
            pushFollow(FOLLOW_rule__Transition__Group__4__Impl_in_rule__Transition__Group__47455);
            rule__Transition__Group__4__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Transition__Group__4"


    // $ANTLR start "rule__Transition__Group__4__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3644:1: rule__Transition__Group__4__Impl : ( ';' ) ;
    public final void rule__Transition__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3648:1: ( ( ';' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3649:1: ( ';' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3649:1: ( ';' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3650:1: ';'
            {
             before(grammarAccess.getTransitionAccess().getSemicolonKeyword_4()); 
            match(input,28,FOLLOW_28_in_rule__Transition__Group__4__Impl7483); 
             after(grammarAccess.getTransitionAccess().getSemicolonKeyword_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Transition__Group__4__Impl"


    // $ANTLR start "rule__IfExp__Group__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3673:1: rule__IfExp__Group__0 : rule__IfExp__Group__0__Impl rule__IfExp__Group__1 ;
    public final void rule__IfExp__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3677:1: ( rule__IfExp__Group__0__Impl rule__IfExp__Group__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3678:2: rule__IfExp__Group__0__Impl rule__IfExp__Group__1
            {
            pushFollow(FOLLOW_rule__IfExp__Group__0__Impl_in_rule__IfExp__Group__07524);
            rule__IfExp__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__IfExp__Group__1_in_rule__IfExp__Group__07527);
            rule__IfExp__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfExp__Group__0"


    // $ANTLR start "rule__IfExp__Group__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3685:1: rule__IfExp__Group__0__Impl : ( ( rule__IfExp__BlockAssignment_0 ) ) ;
    public final void rule__IfExp__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3689:1: ( ( ( rule__IfExp__BlockAssignment_0 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3690:1: ( ( rule__IfExp__BlockAssignment_0 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3690:1: ( ( rule__IfExp__BlockAssignment_0 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3691:1: ( rule__IfExp__BlockAssignment_0 )
            {
             before(grammarAccess.getIfExpAccess().getBlockAssignment_0()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3692:1: ( rule__IfExp__BlockAssignment_0 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3692:2: rule__IfExp__BlockAssignment_0
            {
            pushFollow(FOLLOW_rule__IfExp__BlockAssignment_0_in_rule__IfExp__Group__0__Impl7554);
            rule__IfExp__BlockAssignment_0();

            state._fsp--;


            }

             after(grammarAccess.getIfExpAccess().getBlockAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfExp__Group__0__Impl"


    // $ANTLR start "rule__IfExp__Group__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3702:1: rule__IfExp__Group__1 : rule__IfExp__Group__1__Impl rule__IfExp__Group__2 ;
    public final void rule__IfExp__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3706:1: ( rule__IfExp__Group__1__Impl rule__IfExp__Group__2 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3707:2: rule__IfExp__Group__1__Impl rule__IfExp__Group__2
            {
            pushFollow(FOLLOW_rule__IfExp__Group__1__Impl_in_rule__IfExp__Group__17584);
            rule__IfExp__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__IfExp__Group__2_in_rule__IfExp__Group__17587);
            rule__IfExp__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfExp__Group__1"


    // $ANTLR start "rule__IfExp__Group__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3714:1: rule__IfExp__Group__1__Impl : ( ( rule__IfExp__Group_1__0 )* ) ;
    public final void rule__IfExp__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3718:1: ( ( ( rule__IfExp__Group_1__0 )* ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3719:1: ( ( rule__IfExp__Group_1__0 )* )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3719:1: ( ( rule__IfExp__Group_1__0 )* )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3720:1: ( rule__IfExp__Group_1__0 )*
            {
             before(grammarAccess.getIfExpAccess().getGroup_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3721:1: ( rule__IfExp__Group_1__0 )*
            loop20:
            do {
                int alt20=2;
                int LA20_0 = input.LA(1);

                if ( (LA20_0==45) ) {
                    int LA20_1 = input.LA(2);

                    if ( (LA20_1==46) ) {
                        alt20=1;
                    }


                }


                switch (alt20) {
            	case 1 :
            	    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3721:2: rule__IfExp__Group_1__0
            	    {
            	    pushFollow(FOLLOW_rule__IfExp__Group_1__0_in_rule__IfExp__Group__1__Impl7614);
            	    rule__IfExp__Group_1__0();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop20;
                }
            } while (true);

             after(grammarAccess.getIfExpAccess().getGroup_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfExp__Group__1__Impl"


    // $ANTLR start "rule__IfExp__Group__2"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3731:1: rule__IfExp__Group__2 : rule__IfExp__Group__2__Impl ;
    public final void rule__IfExp__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3735:1: ( rule__IfExp__Group__2__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3736:2: rule__IfExp__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__IfExp__Group__2__Impl_in_rule__IfExp__Group__27645);
            rule__IfExp__Group__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfExp__Group__2"


    // $ANTLR start "rule__IfExp__Group__2__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3742:1: rule__IfExp__Group__2__Impl : ( ( rule__IfExp__Group_2__0 )? ) ;
    public final void rule__IfExp__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3746:1: ( ( ( rule__IfExp__Group_2__0 )? ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3747:1: ( ( rule__IfExp__Group_2__0 )? )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3747:1: ( ( rule__IfExp__Group_2__0 )? )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3748:1: ( rule__IfExp__Group_2__0 )?
            {
             before(grammarAccess.getIfExpAccess().getGroup_2()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3749:1: ( rule__IfExp__Group_2__0 )?
            int alt21=2;
            int LA21_0 = input.LA(1);

            if ( (LA21_0==45) ) {
                alt21=1;
            }
            switch (alt21) {
                case 1 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3749:2: rule__IfExp__Group_2__0
                    {
                    pushFollow(FOLLOW_rule__IfExp__Group_2__0_in_rule__IfExp__Group__2__Impl7672);
                    rule__IfExp__Group_2__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getIfExpAccess().getGroup_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfExp__Group__2__Impl"


    // $ANTLR start "rule__IfExp__Group_1__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3765:1: rule__IfExp__Group_1__0 : rule__IfExp__Group_1__0__Impl rule__IfExp__Group_1__1 ;
    public final void rule__IfExp__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3769:1: ( rule__IfExp__Group_1__0__Impl rule__IfExp__Group_1__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3770:2: rule__IfExp__Group_1__0__Impl rule__IfExp__Group_1__1
            {
            pushFollow(FOLLOW_rule__IfExp__Group_1__0__Impl_in_rule__IfExp__Group_1__07709);
            rule__IfExp__Group_1__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__IfExp__Group_1__1_in_rule__IfExp__Group_1__07712);
            rule__IfExp__Group_1__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfExp__Group_1__0"


    // $ANTLR start "rule__IfExp__Group_1__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3777:1: rule__IfExp__Group_1__0__Impl : ( 'else' ) ;
    public final void rule__IfExp__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3781:1: ( ( 'else' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3782:1: ( 'else' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3782:1: ( 'else' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3783:1: 'else'
            {
             before(grammarAccess.getIfExpAccess().getElseKeyword_1_0()); 
            match(input,45,FOLLOW_45_in_rule__IfExp__Group_1__0__Impl7740); 
             after(grammarAccess.getIfExpAccess().getElseKeyword_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfExp__Group_1__0__Impl"


    // $ANTLR start "rule__IfExp__Group_1__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3796:1: rule__IfExp__Group_1__1 : rule__IfExp__Group_1__1__Impl ;
    public final void rule__IfExp__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3800:1: ( rule__IfExp__Group_1__1__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3801:2: rule__IfExp__Group_1__1__Impl
            {
            pushFollow(FOLLOW_rule__IfExp__Group_1__1__Impl_in_rule__IfExp__Group_1__17771);
            rule__IfExp__Group_1__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfExp__Group_1__1"


    // $ANTLR start "rule__IfExp__Group_1__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3807:1: rule__IfExp__Group_1__1__Impl : ( ( rule__IfExp__BlocksAssignment_1_1 ) ) ;
    public final void rule__IfExp__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3811:1: ( ( ( rule__IfExp__BlocksAssignment_1_1 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3812:1: ( ( rule__IfExp__BlocksAssignment_1_1 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3812:1: ( ( rule__IfExp__BlocksAssignment_1_1 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3813:1: ( rule__IfExp__BlocksAssignment_1_1 )
            {
             before(grammarAccess.getIfExpAccess().getBlocksAssignment_1_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3814:1: ( rule__IfExp__BlocksAssignment_1_1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3814:2: rule__IfExp__BlocksAssignment_1_1
            {
            pushFollow(FOLLOW_rule__IfExp__BlocksAssignment_1_1_in_rule__IfExp__Group_1__1__Impl7798);
            rule__IfExp__BlocksAssignment_1_1();

            state._fsp--;


            }

             after(grammarAccess.getIfExpAccess().getBlocksAssignment_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfExp__Group_1__1__Impl"


    // $ANTLR start "rule__IfExp__Group_2__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3828:1: rule__IfExp__Group_2__0 : rule__IfExp__Group_2__0__Impl rule__IfExp__Group_2__1 ;
    public final void rule__IfExp__Group_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3832:1: ( rule__IfExp__Group_2__0__Impl rule__IfExp__Group_2__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3833:2: rule__IfExp__Group_2__0__Impl rule__IfExp__Group_2__1
            {
            pushFollow(FOLLOW_rule__IfExp__Group_2__0__Impl_in_rule__IfExp__Group_2__07832);
            rule__IfExp__Group_2__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__IfExp__Group_2__1_in_rule__IfExp__Group_2__07835);
            rule__IfExp__Group_2__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfExp__Group_2__0"


    // $ANTLR start "rule__IfExp__Group_2__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3840:1: rule__IfExp__Group_2__0__Impl : ( 'else' ) ;
    public final void rule__IfExp__Group_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3844:1: ( ( 'else' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3845:1: ( 'else' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3845:1: ( 'else' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3846:1: 'else'
            {
             before(grammarAccess.getIfExpAccess().getElseKeyword_2_0()); 
            match(input,45,FOLLOW_45_in_rule__IfExp__Group_2__0__Impl7863); 
             after(grammarAccess.getIfExpAccess().getElseKeyword_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfExp__Group_2__0__Impl"


    // $ANTLR start "rule__IfExp__Group_2__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3859:1: rule__IfExp__Group_2__1 : rule__IfExp__Group_2__1__Impl ;
    public final void rule__IfExp__Group_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3863:1: ( rule__IfExp__Group_2__1__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3864:2: rule__IfExp__Group_2__1__Impl
            {
            pushFollow(FOLLOW_rule__IfExp__Group_2__1__Impl_in_rule__IfExp__Group_2__17894);
            rule__IfExp__Group_2__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfExp__Group_2__1"


    // $ANTLR start "rule__IfExp__Group_2__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3870:1: rule__IfExp__Group_2__1__Impl : ( ( rule__IfExp__DefaultBlockAssignment_2_1 ) ) ;
    public final void rule__IfExp__Group_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3874:1: ( ( ( rule__IfExp__DefaultBlockAssignment_2_1 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3875:1: ( ( rule__IfExp__DefaultBlockAssignment_2_1 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3875:1: ( ( rule__IfExp__DefaultBlockAssignment_2_1 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3876:1: ( rule__IfExp__DefaultBlockAssignment_2_1 )
            {
             before(grammarAccess.getIfExpAccess().getDefaultBlockAssignment_2_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3877:1: ( rule__IfExp__DefaultBlockAssignment_2_1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3877:2: rule__IfExp__DefaultBlockAssignment_2_1
            {
            pushFollow(FOLLOW_rule__IfExp__DefaultBlockAssignment_2_1_in_rule__IfExp__Group_2__1__Impl7921);
            rule__IfExp__DefaultBlockAssignment_2_1();

            state._fsp--;


            }

             after(grammarAccess.getIfExpAccess().getDefaultBlockAssignment_2_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfExp__Group_2__1__Impl"


    // $ANTLR start "rule__Block__Group__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3891:1: rule__Block__Group__0 : rule__Block__Group__0__Impl rule__Block__Group__1 ;
    public final void rule__Block__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3895:1: ( rule__Block__Group__0__Impl rule__Block__Group__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3896:2: rule__Block__Group__0__Impl rule__Block__Group__1
            {
            pushFollow(FOLLOW_rule__Block__Group__0__Impl_in_rule__Block__Group__07955);
            rule__Block__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Block__Group__1_in_rule__Block__Group__07958);
            rule__Block__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Block__Group__0"


    // $ANTLR start "rule__Block__Group__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3903:1: rule__Block__Group__0__Impl : ( '{' ) ;
    public final void rule__Block__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3907:1: ( ( '{' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3908:1: ( '{' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3908:1: ( '{' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3909:1: '{'
            {
             before(grammarAccess.getBlockAccess().getLeftCurlyBracketKeyword_0()); 
            match(input,24,FOLLOW_24_in_rule__Block__Group__0__Impl7986); 
             after(grammarAccess.getBlockAccess().getLeftCurlyBracketKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Block__Group__0__Impl"


    // $ANTLR start "rule__Block__Group__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3922:1: rule__Block__Group__1 : rule__Block__Group__1__Impl rule__Block__Group__2 ;
    public final void rule__Block__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3926:1: ( rule__Block__Group__1__Impl rule__Block__Group__2 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3927:2: rule__Block__Group__1__Impl rule__Block__Group__2
            {
            pushFollow(FOLLOW_rule__Block__Group__1__Impl_in_rule__Block__Group__18017);
            rule__Block__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Block__Group__2_in_rule__Block__Group__18020);
            rule__Block__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Block__Group__1"


    // $ANTLR start "rule__Block__Group__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3934:1: rule__Block__Group__1__Impl : ( ( rule__Block__StmsAssignment_1 )* ) ;
    public final void rule__Block__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3938:1: ( ( ( rule__Block__StmsAssignment_1 )* ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3939:1: ( ( rule__Block__StmsAssignment_1 )* )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3939:1: ( ( rule__Block__StmsAssignment_1 )* )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3940:1: ( rule__Block__StmsAssignment_1 )*
            {
             before(grammarAccess.getBlockAccess().getStmsAssignment_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3941:1: ( rule__Block__StmsAssignment_1 )*
            loop22:
            do {
                int alt22=2;
                int LA22_0 = input.LA(1);

                if ( (LA22_0==RULE_ML_COMMENT||LA22_0==RULE_ID||LA22_0==27||(LA22_0>=29 && LA22_0<=30)||LA22_0==33||LA22_0==36||LA22_0==40||LA22_0==42||(LA22_0>=46 && LA22_0<=47)||(LA22_0>=49 && LA22_0<=50)||(LA22_0>=53 && LA22_0<=54)) ) {
                    alt22=1;
                }


                switch (alt22) {
            	case 1 :
            	    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3941:2: rule__Block__StmsAssignment_1
            	    {
            	    pushFollow(FOLLOW_rule__Block__StmsAssignment_1_in_rule__Block__Group__1__Impl8047);
            	    rule__Block__StmsAssignment_1();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop22;
                }
            } while (true);

             after(grammarAccess.getBlockAccess().getStmsAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Block__Group__1__Impl"


    // $ANTLR start "rule__Block__Group__2"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3951:1: rule__Block__Group__2 : rule__Block__Group__2__Impl ;
    public final void rule__Block__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3955:1: ( rule__Block__Group__2__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3956:2: rule__Block__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__Block__Group__2__Impl_in_rule__Block__Group__28078);
            rule__Block__Group__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Block__Group__2"


    // $ANTLR start "rule__Block__Group__2__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3962:1: rule__Block__Group__2__Impl : ( '}' ) ;
    public final void rule__Block__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3966:1: ( ( '}' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3967:1: ( '}' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3967:1: ( '}' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3968:1: '}'
            {
             before(grammarAccess.getBlockAccess().getRightCurlyBracketKeyword_2()); 
            match(input,25,FOLLOW_25_in_rule__Block__Group__2__Impl8106); 
             after(grammarAccess.getBlockAccess().getRightCurlyBracketKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Block__Group__2__Impl"


    // $ANTLR start "rule__CondBlock__Group__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3987:1: rule__CondBlock__Group__0 : rule__CondBlock__Group__0__Impl rule__CondBlock__Group__1 ;
    public final void rule__CondBlock__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3991:1: ( rule__CondBlock__Group__0__Impl rule__CondBlock__Group__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3992:2: rule__CondBlock__Group__0__Impl rule__CondBlock__Group__1
            {
            pushFollow(FOLLOW_rule__CondBlock__Group__0__Impl_in_rule__CondBlock__Group__08143);
            rule__CondBlock__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__CondBlock__Group__1_in_rule__CondBlock__Group__08146);
            rule__CondBlock__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__CondBlock__Group__0"


    // $ANTLR start "rule__CondBlock__Group__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:3999:1: rule__CondBlock__Group__0__Impl : ( 'if' ) ;
    public final void rule__CondBlock__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4003:1: ( ( 'if' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4004:1: ( 'if' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4004:1: ( 'if' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4005:1: 'if'
            {
             before(grammarAccess.getCondBlockAccess().getIfKeyword_0()); 
            match(input,46,FOLLOW_46_in_rule__CondBlock__Group__0__Impl8174); 
             after(grammarAccess.getCondBlockAccess().getIfKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__CondBlock__Group__0__Impl"


    // $ANTLR start "rule__CondBlock__Group__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4018:1: rule__CondBlock__Group__1 : rule__CondBlock__Group__1__Impl rule__CondBlock__Group__2 ;
    public final void rule__CondBlock__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4022:1: ( rule__CondBlock__Group__1__Impl rule__CondBlock__Group__2 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4023:2: rule__CondBlock__Group__1__Impl rule__CondBlock__Group__2
            {
            pushFollow(FOLLOW_rule__CondBlock__Group__1__Impl_in_rule__CondBlock__Group__18205);
            rule__CondBlock__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__CondBlock__Group__2_in_rule__CondBlock__Group__18208);
            rule__CondBlock__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__CondBlock__Group__1"


    // $ANTLR start "rule__CondBlock__Group__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4030:1: rule__CondBlock__Group__1__Impl : ( ( rule__CondBlock__CondAssignment_1 ) ) ;
    public final void rule__CondBlock__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4034:1: ( ( ( rule__CondBlock__CondAssignment_1 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4035:1: ( ( rule__CondBlock__CondAssignment_1 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4035:1: ( ( rule__CondBlock__CondAssignment_1 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4036:1: ( rule__CondBlock__CondAssignment_1 )
            {
             before(grammarAccess.getCondBlockAccess().getCondAssignment_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4037:1: ( rule__CondBlock__CondAssignment_1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4037:2: rule__CondBlock__CondAssignment_1
            {
            pushFollow(FOLLOW_rule__CondBlock__CondAssignment_1_in_rule__CondBlock__Group__1__Impl8235);
            rule__CondBlock__CondAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getCondBlockAccess().getCondAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__CondBlock__Group__1__Impl"


    // $ANTLR start "rule__CondBlock__Group__2"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4047:1: rule__CondBlock__Group__2 : rule__CondBlock__Group__2__Impl ;
    public final void rule__CondBlock__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4051:1: ( rule__CondBlock__Group__2__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4052:2: rule__CondBlock__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__CondBlock__Group__2__Impl_in_rule__CondBlock__Group__28265);
            rule__CondBlock__Group__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__CondBlock__Group__2"


    // $ANTLR start "rule__CondBlock__Group__2__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4058:1: rule__CondBlock__Group__2__Impl : ( ( rule__CondBlock__ActionAssignment_2 ) ) ;
    public final void rule__CondBlock__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4062:1: ( ( ( rule__CondBlock__ActionAssignment_2 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4063:1: ( ( rule__CondBlock__ActionAssignment_2 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4063:1: ( ( rule__CondBlock__ActionAssignment_2 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4064:1: ( rule__CondBlock__ActionAssignment_2 )
            {
             before(grammarAccess.getCondBlockAccess().getActionAssignment_2()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4065:1: ( rule__CondBlock__ActionAssignment_2 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4065:2: rule__CondBlock__ActionAssignment_2
            {
            pushFollow(FOLLOW_rule__CondBlock__ActionAssignment_2_in_rule__CondBlock__Group__2__Impl8292);
            rule__CondBlock__ActionAssignment_2();

            state._fsp--;


            }

             after(grammarAccess.getCondBlockAccess().getActionAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__CondBlock__Group__2__Impl"


    // $ANTLR start "rule__IfStateExp__Group__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4081:1: rule__IfStateExp__Group__0 : rule__IfStateExp__Group__0__Impl rule__IfStateExp__Group__1 ;
    public final void rule__IfStateExp__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4085:1: ( rule__IfStateExp__Group__0__Impl rule__IfStateExp__Group__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4086:2: rule__IfStateExp__Group__0__Impl rule__IfStateExp__Group__1
            {
            pushFollow(FOLLOW_rule__IfStateExp__Group__0__Impl_in_rule__IfStateExp__Group__08328);
            rule__IfStateExp__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__IfStateExp__Group__1_in_rule__IfStateExp__Group__08331);
            rule__IfStateExp__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfStateExp__Group__0"


    // $ANTLR start "rule__IfStateExp__Group__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4093:1: rule__IfStateExp__Group__0__Impl : ( ( rule__IfStateExp__BlockAssignment_0 ) ) ;
    public final void rule__IfStateExp__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4097:1: ( ( ( rule__IfStateExp__BlockAssignment_0 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4098:1: ( ( rule__IfStateExp__BlockAssignment_0 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4098:1: ( ( rule__IfStateExp__BlockAssignment_0 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4099:1: ( rule__IfStateExp__BlockAssignment_0 )
            {
             before(grammarAccess.getIfStateExpAccess().getBlockAssignment_0()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4100:1: ( rule__IfStateExp__BlockAssignment_0 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4100:2: rule__IfStateExp__BlockAssignment_0
            {
            pushFollow(FOLLOW_rule__IfStateExp__BlockAssignment_0_in_rule__IfStateExp__Group__0__Impl8358);
            rule__IfStateExp__BlockAssignment_0();

            state._fsp--;


            }

             after(grammarAccess.getIfStateExpAccess().getBlockAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfStateExp__Group__0__Impl"


    // $ANTLR start "rule__IfStateExp__Group__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4110:1: rule__IfStateExp__Group__1 : rule__IfStateExp__Group__1__Impl rule__IfStateExp__Group__2 ;
    public final void rule__IfStateExp__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4114:1: ( rule__IfStateExp__Group__1__Impl rule__IfStateExp__Group__2 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4115:2: rule__IfStateExp__Group__1__Impl rule__IfStateExp__Group__2
            {
            pushFollow(FOLLOW_rule__IfStateExp__Group__1__Impl_in_rule__IfStateExp__Group__18388);
            rule__IfStateExp__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__IfStateExp__Group__2_in_rule__IfStateExp__Group__18391);
            rule__IfStateExp__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfStateExp__Group__1"


    // $ANTLR start "rule__IfStateExp__Group__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4122:1: rule__IfStateExp__Group__1__Impl : ( ( rule__IfStateExp__Group_1__0 )* ) ;
    public final void rule__IfStateExp__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4126:1: ( ( ( rule__IfStateExp__Group_1__0 )* ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4127:1: ( ( rule__IfStateExp__Group_1__0 )* )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4127:1: ( ( rule__IfStateExp__Group_1__0 )* )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4128:1: ( rule__IfStateExp__Group_1__0 )*
            {
             before(grammarAccess.getIfStateExpAccess().getGroup_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4129:1: ( rule__IfStateExp__Group_1__0 )*
            loop23:
            do {
                int alt23=2;
                int LA23_0 = input.LA(1);

                if ( (LA23_0==45) ) {
                    int LA23_1 = input.LA(2);

                    if ( (LA23_1==46) ) {
                        alt23=1;
                    }


                }


                switch (alt23) {
            	case 1 :
            	    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4129:2: rule__IfStateExp__Group_1__0
            	    {
            	    pushFollow(FOLLOW_rule__IfStateExp__Group_1__0_in_rule__IfStateExp__Group__1__Impl8418);
            	    rule__IfStateExp__Group_1__0();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop23;
                }
            } while (true);

             after(grammarAccess.getIfStateExpAccess().getGroup_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfStateExp__Group__1__Impl"


    // $ANTLR start "rule__IfStateExp__Group__2"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4139:1: rule__IfStateExp__Group__2 : rule__IfStateExp__Group__2__Impl ;
    public final void rule__IfStateExp__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4143:1: ( rule__IfStateExp__Group__2__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4144:2: rule__IfStateExp__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__IfStateExp__Group__2__Impl_in_rule__IfStateExp__Group__28449);
            rule__IfStateExp__Group__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfStateExp__Group__2"


    // $ANTLR start "rule__IfStateExp__Group__2__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4150:1: rule__IfStateExp__Group__2__Impl : ( ( rule__IfStateExp__Group_2__0 )? ) ;
    public final void rule__IfStateExp__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4154:1: ( ( ( rule__IfStateExp__Group_2__0 )? ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4155:1: ( ( rule__IfStateExp__Group_2__0 )? )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4155:1: ( ( rule__IfStateExp__Group_2__0 )? )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4156:1: ( rule__IfStateExp__Group_2__0 )?
            {
             before(grammarAccess.getIfStateExpAccess().getGroup_2()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4157:1: ( rule__IfStateExp__Group_2__0 )?
            int alt24=2;
            int LA24_0 = input.LA(1);

            if ( (LA24_0==45) ) {
                alt24=1;
            }
            switch (alt24) {
                case 1 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4157:2: rule__IfStateExp__Group_2__0
                    {
                    pushFollow(FOLLOW_rule__IfStateExp__Group_2__0_in_rule__IfStateExp__Group__2__Impl8476);
                    rule__IfStateExp__Group_2__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getIfStateExpAccess().getGroup_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfStateExp__Group__2__Impl"


    // $ANTLR start "rule__IfStateExp__Group_1__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4173:1: rule__IfStateExp__Group_1__0 : rule__IfStateExp__Group_1__0__Impl rule__IfStateExp__Group_1__1 ;
    public final void rule__IfStateExp__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4177:1: ( rule__IfStateExp__Group_1__0__Impl rule__IfStateExp__Group_1__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4178:2: rule__IfStateExp__Group_1__0__Impl rule__IfStateExp__Group_1__1
            {
            pushFollow(FOLLOW_rule__IfStateExp__Group_1__0__Impl_in_rule__IfStateExp__Group_1__08513);
            rule__IfStateExp__Group_1__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__IfStateExp__Group_1__1_in_rule__IfStateExp__Group_1__08516);
            rule__IfStateExp__Group_1__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfStateExp__Group_1__0"


    // $ANTLR start "rule__IfStateExp__Group_1__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4185:1: rule__IfStateExp__Group_1__0__Impl : ( 'else' ) ;
    public final void rule__IfStateExp__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4189:1: ( ( 'else' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4190:1: ( 'else' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4190:1: ( 'else' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4191:1: 'else'
            {
             before(grammarAccess.getIfStateExpAccess().getElseKeyword_1_0()); 
            match(input,45,FOLLOW_45_in_rule__IfStateExp__Group_1__0__Impl8544); 
             after(grammarAccess.getIfStateExpAccess().getElseKeyword_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfStateExp__Group_1__0__Impl"


    // $ANTLR start "rule__IfStateExp__Group_1__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4204:1: rule__IfStateExp__Group_1__1 : rule__IfStateExp__Group_1__1__Impl ;
    public final void rule__IfStateExp__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4208:1: ( rule__IfStateExp__Group_1__1__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4209:2: rule__IfStateExp__Group_1__1__Impl
            {
            pushFollow(FOLLOW_rule__IfStateExp__Group_1__1__Impl_in_rule__IfStateExp__Group_1__18575);
            rule__IfStateExp__Group_1__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfStateExp__Group_1__1"


    // $ANTLR start "rule__IfStateExp__Group_1__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4215:1: rule__IfStateExp__Group_1__1__Impl : ( ( rule__IfStateExp__BlocksAssignment_1_1 ) ) ;
    public final void rule__IfStateExp__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4219:1: ( ( ( rule__IfStateExp__BlocksAssignment_1_1 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4220:1: ( ( rule__IfStateExp__BlocksAssignment_1_1 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4220:1: ( ( rule__IfStateExp__BlocksAssignment_1_1 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4221:1: ( rule__IfStateExp__BlocksAssignment_1_1 )
            {
             before(grammarAccess.getIfStateExpAccess().getBlocksAssignment_1_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4222:1: ( rule__IfStateExp__BlocksAssignment_1_1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4222:2: rule__IfStateExp__BlocksAssignment_1_1
            {
            pushFollow(FOLLOW_rule__IfStateExp__BlocksAssignment_1_1_in_rule__IfStateExp__Group_1__1__Impl8602);
            rule__IfStateExp__BlocksAssignment_1_1();

            state._fsp--;


            }

             after(grammarAccess.getIfStateExpAccess().getBlocksAssignment_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfStateExp__Group_1__1__Impl"


    // $ANTLR start "rule__IfStateExp__Group_2__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4236:1: rule__IfStateExp__Group_2__0 : rule__IfStateExp__Group_2__0__Impl rule__IfStateExp__Group_2__1 ;
    public final void rule__IfStateExp__Group_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4240:1: ( rule__IfStateExp__Group_2__0__Impl rule__IfStateExp__Group_2__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4241:2: rule__IfStateExp__Group_2__0__Impl rule__IfStateExp__Group_2__1
            {
            pushFollow(FOLLOW_rule__IfStateExp__Group_2__0__Impl_in_rule__IfStateExp__Group_2__08636);
            rule__IfStateExp__Group_2__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__IfStateExp__Group_2__1_in_rule__IfStateExp__Group_2__08639);
            rule__IfStateExp__Group_2__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfStateExp__Group_2__0"


    // $ANTLR start "rule__IfStateExp__Group_2__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4248:1: rule__IfStateExp__Group_2__0__Impl : ( 'else' ) ;
    public final void rule__IfStateExp__Group_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4252:1: ( ( 'else' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4253:1: ( 'else' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4253:1: ( 'else' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4254:1: 'else'
            {
             before(grammarAccess.getIfStateExpAccess().getElseKeyword_2_0()); 
            match(input,45,FOLLOW_45_in_rule__IfStateExp__Group_2__0__Impl8667); 
             after(grammarAccess.getIfStateExpAccess().getElseKeyword_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfStateExp__Group_2__0__Impl"


    // $ANTLR start "rule__IfStateExp__Group_2__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4267:1: rule__IfStateExp__Group_2__1 : rule__IfStateExp__Group_2__1__Impl ;
    public final void rule__IfStateExp__Group_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4271:1: ( rule__IfStateExp__Group_2__1__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4272:2: rule__IfStateExp__Group_2__1__Impl
            {
            pushFollow(FOLLOW_rule__IfStateExp__Group_2__1__Impl_in_rule__IfStateExp__Group_2__18698);
            rule__IfStateExp__Group_2__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfStateExp__Group_2__1"


    // $ANTLR start "rule__IfStateExp__Group_2__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4278:1: rule__IfStateExp__Group_2__1__Impl : ( ( rule__IfStateExp__DefaultBlockAssignment_2_1 ) ) ;
    public final void rule__IfStateExp__Group_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4282:1: ( ( ( rule__IfStateExp__DefaultBlockAssignment_2_1 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4283:1: ( ( rule__IfStateExp__DefaultBlockAssignment_2_1 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4283:1: ( ( rule__IfStateExp__DefaultBlockAssignment_2_1 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4284:1: ( rule__IfStateExp__DefaultBlockAssignment_2_1 )
            {
             before(grammarAccess.getIfStateExpAccess().getDefaultBlockAssignment_2_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4285:1: ( rule__IfStateExp__DefaultBlockAssignment_2_1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4285:2: rule__IfStateExp__DefaultBlockAssignment_2_1
            {
            pushFollow(FOLLOW_rule__IfStateExp__DefaultBlockAssignment_2_1_in_rule__IfStateExp__Group_2__1__Impl8725);
            rule__IfStateExp__DefaultBlockAssignment_2_1();

            state._fsp--;


            }

             after(grammarAccess.getIfStateExpAccess().getDefaultBlockAssignment_2_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfStateExp__Group_2__1__Impl"


    // $ANTLR start "rule__CondStateBlock__Group__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4299:1: rule__CondStateBlock__Group__0 : rule__CondStateBlock__Group__0__Impl rule__CondStateBlock__Group__1 ;
    public final void rule__CondStateBlock__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4303:1: ( rule__CondStateBlock__Group__0__Impl rule__CondStateBlock__Group__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4304:2: rule__CondStateBlock__Group__0__Impl rule__CondStateBlock__Group__1
            {
            pushFollow(FOLLOW_rule__CondStateBlock__Group__0__Impl_in_rule__CondStateBlock__Group__08759);
            rule__CondStateBlock__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__CondStateBlock__Group__1_in_rule__CondStateBlock__Group__08762);
            rule__CondStateBlock__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__CondStateBlock__Group__0"


    // $ANTLR start "rule__CondStateBlock__Group__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4311:1: rule__CondStateBlock__Group__0__Impl : ( 'if' ) ;
    public final void rule__CondStateBlock__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4315:1: ( ( 'if' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4316:1: ( 'if' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4316:1: ( 'if' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4317:1: 'if'
            {
             before(grammarAccess.getCondStateBlockAccess().getIfKeyword_0()); 
            match(input,46,FOLLOW_46_in_rule__CondStateBlock__Group__0__Impl8790); 
             after(grammarAccess.getCondStateBlockAccess().getIfKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__CondStateBlock__Group__0__Impl"


    // $ANTLR start "rule__CondStateBlock__Group__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4330:1: rule__CondStateBlock__Group__1 : rule__CondStateBlock__Group__1__Impl rule__CondStateBlock__Group__2 ;
    public final void rule__CondStateBlock__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4334:1: ( rule__CondStateBlock__Group__1__Impl rule__CondStateBlock__Group__2 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4335:2: rule__CondStateBlock__Group__1__Impl rule__CondStateBlock__Group__2
            {
            pushFollow(FOLLOW_rule__CondStateBlock__Group__1__Impl_in_rule__CondStateBlock__Group__18821);
            rule__CondStateBlock__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__CondStateBlock__Group__2_in_rule__CondStateBlock__Group__18824);
            rule__CondStateBlock__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__CondStateBlock__Group__1"


    // $ANTLR start "rule__CondStateBlock__Group__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4342:1: rule__CondStateBlock__Group__1__Impl : ( ( rule__CondStateBlock__CondAssignment_1 ) ) ;
    public final void rule__CondStateBlock__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4346:1: ( ( ( rule__CondStateBlock__CondAssignment_1 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4347:1: ( ( rule__CondStateBlock__CondAssignment_1 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4347:1: ( ( rule__CondStateBlock__CondAssignment_1 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4348:1: ( rule__CondStateBlock__CondAssignment_1 )
            {
             before(grammarAccess.getCondStateBlockAccess().getCondAssignment_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4349:1: ( rule__CondStateBlock__CondAssignment_1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4349:2: rule__CondStateBlock__CondAssignment_1
            {
            pushFollow(FOLLOW_rule__CondStateBlock__CondAssignment_1_in_rule__CondStateBlock__Group__1__Impl8851);
            rule__CondStateBlock__CondAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getCondStateBlockAccess().getCondAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__CondStateBlock__Group__1__Impl"


    // $ANTLR start "rule__CondStateBlock__Group__2"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4359:1: rule__CondStateBlock__Group__2 : rule__CondStateBlock__Group__2__Impl ;
    public final void rule__CondStateBlock__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4363:1: ( rule__CondStateBlock__Group__2__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4364:2: rule__CondStateBlock__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__CondStateBlock__Group__2__Impl_in_rule__CondStateBlock__Group__28881);
            rule__CondStateBlock__Group__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__CondStateBlock__Group__2"


    // $ANTLR start "rule__CondStateBlock__Group__2__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4370:1: rule__CondStateBlock__Group__2__Impl : ( ( rule__CondStateBlock__ActionAssignment_2 ) ) ;
    public final void rule__CondStateBlock__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4374:1: ( ( ( rule__CondStateBlock__ActionAssignment_2 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4375:1: ( ( rule__CondStateBlock__ActionAssignment_2 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4375:1: ( ( rule__CondStateBlock__ActionAssignment_2 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4376:1: ( rule__CondStateBlock__ActionAssignment_2 )
            {
             before(grammarAccess.getCondStateBlockAccess().getActionAssignment_2()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4377:1: ( rule__CondStateBlock__ActionAssignment_2 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4377:2: rule__CondStateBlock__ActionAssignment_2
            {
            pushFollow(FOLLOW_rule__CondStateBlock__ActionAssignment_2_in_rule__CondStateBlock__Group__2__Impl8908);
            rule__CondStateBlock__ActionAssignment_2();

            state._fsp--;


            }

             after(grammarAccess.getCondStateBlockAccess().getActionAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__CondStateBlock__Group__2__Impl"


    // $ANTLR start "rule__BlockState__Group__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4393:1: rule__BlockState__Group__0 : rule__BlockState__Group__0__Impl rule__BlockState__Group__1 ;
    public final void rule__BlockState__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4397:1: ( rule__BlockState__Group__0__Impl rule__BlockState__Group__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4398:2: rule__BlockState__Group__0__Impl rule__BlockState__Group__1
            {
            pushFollow(FOLLOW_rule__BlockState__Group__0__Impl_in_rule__BlockState__Group__08944);
            rule__BlockState__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__BlockState__Group__1_in_rule__BlockState__Group__08947);
            rule__BlockState__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BlockState__Group__0"


    // $ANTLR start "rule__BlockState__Group__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4405:1: rule__BlockState__Group__0__Impl : ( '{' ) ;
    public final void rule__BlockState__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4409:1: ( ( '{' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4410:1: ( '{' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4410:1: ( '{' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4411:1: '{'
            {
             before(grammarAccess.getBlockStateAccess().getLeftCurlyBracketKeyword_0()); 
            match(input,24,FOLLOW_24_in_rule__BlockState__Group__0__Impl8975); 
             after(grammarAccess.getBlockStateAccess().getLeftCurlyBracketKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BlockState__Group__0__Impl"


    // $ANTLR start "rule__BlockState__Group__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4424:1: rule__BlockState__Group__1 : rule__BlockState__Group__1__Impl rule__BlockState__Group__2 ;
    public final void rule__BlockState__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4428:1: ( rule__BlockState__Group__1__Impl rule__BlockState__Group__2 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4429:2: rule__BlockState__Group__1__Impl rule__BlockState__Group__2
            {
            pushFollow(FOLLOW_rule__BlockState__Group__1__Impl_in_rule__BlockState__Group__19006);
            rule__BlockState__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__BlockState__Group__2_in_rule__BlockState__Group__19009);
            rule__BlockState__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BlockState__Group__1"


    // $ANTLR start "rule__BlockState__Group__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4436:1: rule__BlockState__Group__1__Impl : ( ( rule__BlockState__StaAssignment_1 )* ) ;
    public final void rule__BlockState__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4440:1: ( ( ( rule__BlockState__StaAssignment_1 )* ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4441:1: ( ( rule__BlockState__StaAssignment_1 )* )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4441:1: ( ( rule__BlockState__StaAssignment_1 )* )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4442:1: ( rule__BlockState__StaAssignment_1 )*
            {
             before(grammarAccess.getBlockStateAccess().getStaAssignment_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4443:1: ( rule__BlockState__StaAssignment_1 )*
            loop25:
            do {
                int alt25=2;
                int LA25_0 = input.LA(1);

                if ( (LA25_0==RULE_ML_COMMENT||LA25_0==RULE_ID||LA25_0==27||(LA25_0>=29 && LA25_0<=30)||LA25_0==33||LA25_0==36||LA25_0==40||(LA25_0>=42 && LA25_0<=43)||(LA25_0>=46 && LA25_0<=47)||(LA25_0>=49 && LA25_0<=51)||(LA25_0>=53 && LA25_0<=54)) ) {
                    alt25=1;
                }


                switch (alt25) {
            	case 1 :
            	    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4443:2: rule__BlockState__StaAssignment_1
            	    {
            	    pushFollow(FOLLOW_rule__BlockState__StaAssignment_1_in_rule__BlockState__Group__1__Impl9036);
            	    rule__BlockState__StaAssignment_1();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop25;
                }
            } while (true);

             after(grammarAccess.getBlockStateAccess().getStaAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BlockState__Group__1__Impl"


    // $ANTLR start "rule__BlockState__Group__2"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4453:1: rule__BlockState__Group__2 : rule__BlockState__Group__2__Impl ;
    public final void rule__BlockState__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4457:1: ( rule__BlockState__Group__2__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4458:2: rule__BlockState__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__BlockState__Group__2__Impl_in_rule__BlockState__Group__29067);
            rule__BlockState__Group__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BlockState__Group__2"


    // $ANTLR start "rule__BlockState__Group__2__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4464:1: rule__BlockState__Group__2__Impl : ( '}' ) ;
    public final void rule__BlockState__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4468:1: ( ( '}' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4469:1: ( '}' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4469:1: ( '}' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4470:1: '}'
            {
             before(grammarAccess.getBlockStateAccess().getRightCurlyBracketKeyword_2()); 
            match(input,25,FOLLOW_25_in_rule__BlockState__Group__2__Impl9095); 
             after(grammarAccess.getBlockStateAccess().getRightCurlyBracketKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BlockState__Group__2__Impl"


    // $ANTLR start "rule__BoolExpression__Group__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4489:1: rule__BoolExpression__Group__0 : rule__BoolExpression__Group__0__Impl rule__BoolExpression__Group__1 ;
    public final void rule__BoolExpression__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4493:1: ( rule__BoolExpression__Group__0__Impl rule__BoolExpression__Group__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4494:2: rule__BoolExpression__Group__0__Impl rule__BoolExpression__Group__1
            {
            pushFollow(FOLLOW_rule__BoolExpression__Group__0__Impl_in_rule__BoolExpression__Group__09132);
            rule__BoolExpression__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__BoolExpression__Group__1_in_rule__BoolExpression__Group__09135);
            rule__BoolExpression__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BoolExpression__Group__0"


    // $ANTLR start "rule__BoolExpression__Group__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4501:1: rule__BoolExpression__Group__0__Impl : ( ruleTerminalBoolExpression ) ;
    public final void rule__BoolExpression__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4505:1: ( ( ruleTerminalBoolExpression ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4506:1: ( ruleTerminalBoolExpression )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4506:1: ( ruleTerminalBoolExpression )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4507:1: ruleTerminalBoolExpression
            {
             before(grammarAccess.getBoolExpressionAccess().getTerminalBoolExpressionParserRuleCall_0()); 
            pushFollow(FOLLOW_ruleTerminalBoolExpression_in_rule__BoolExpression__Group__0__Impl9162);
            ruleTerminalBoolExpression();

            state._fsp--;

             after(grammarAccess.getBoolExpressionAccess().getTerminalBoolExpressionParserRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BoolExpression__Group__0__Impl"


    // $ANTLR start "rule__BoolExpression__Group__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4518:1: rule__BoolExpression__Group__1 : rule__BoolExpression__Group__1__Impl ;
    public final void rule__BoolExpression__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4522:1: ( rule__BoolExpression__Group__1__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4523:2: rule__BoolExpression__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__BoolExpression__Group__1__Impl_in_rule__BoolExpression__Group__19191);
            rule__BoolExpression__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BoolExpression__Group__1"


    // $ANTLR start "rule__BoolExpression__Group__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4529:1: rule__BoolExpression__Group__1__Impl : ( ( rule__BoolExpression__Group_1__0 )? ) ;
    public final void rule__BoolExpression__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4533:1: ( ( ( rule__BoolExpression__Group_1__0 )? ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4534:1: ( ( rule__BoolExpression__Group_1__0 )? )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4534:1: ( ( rule__BoolExpression__Group_1__0 )? )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4535:1: ( rule__BoolExpression__Group_1__0 )?
            {
             before(grammarAccess.getBoolExpressionAccess().getGroup_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4536:1: ( rule__BoolExpression__Group_1__0 )?
            int alt26=2;
            int LA26_0 = input.LA(1);

            if ( (LA26_0==RULE_LOGIC_WORD) ) {
                alt26=1;
            }
            switch (alt26) {
                case 1 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4536:2: rule__BoolExpression__Group_1__0
                    {
                    pushFollow(FOLLOW_rule__BoolExpression__Group_1__0_in_rule__BoolExpression__Group__1__Impl9218);
                    rule__BoolExpression__Group_1__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getBoolExpressionAccess().getGroup_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BoolExpression__Group__1__Impl"


    // $ANTLR start "rule__BoolExpression__Group_1__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4550:1: rule__BoolExpression__Group_1__0 : rule__BoolExpression__Group_1__0__Impl rule__BoolExpression__Group_1__1 ;
    public final void rule__BoolExpression__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4554:1: ( rule__BoolExpression__Group_1__0__Impl rule__BoolExpression__Group_1__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4555:2: rule__BoolExpression__Group_1__0__Impl rule__BoolExpression__Group_1__1
            {
            pushFollow(FOLLOW_rule__BoolExpression__Group_1__0__Impl_in_rule__BoolExpression__Group_1__09253);
            rule__BoolExpression__Group_1__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__BoolExpression__Group_1__1_in_rule__BoolExpression__Group_1__09256);
            rule__BoolExpression__Group_1__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BoolExpression__Group_1__0"


    // $ANTLR start "rule__BoolExpression__Group_1__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4562:1: rule__BoolExpression__Group_1__0__Impl : ( () ) ;
    public final void rule__BoolExpression__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4566:1: ( ( () ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4567:1: ( () )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4567:1: ( () )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4568:1: ()
            {
             before(grammarAccess.getBoolExpressionAccess().getOperationBoolLeftAction_1_0()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4569:1: ()
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4571:1: 
            {
            }

             after(grammarAccess.getBoolExpressionAccess().getOperationBoolLeftAction_1_0()); 

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BoolExpression__Group_1__0__Impl"


    // $ANTLR start "rule__BoolExpression__Group_1__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4581:1: rule__BoolExpression__Group_1__1 : rule__BoolExpression__Group_1__1__Impl rule__BoolExpression__Group_1__2 ;
    public final void rule__BoolExpression__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4585:1: ( rule__BoolExpression__Group_1__1__Impl rule__BoolExpression__Group_1__2 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4586:2: rule__BoolExpression__Group_1__1__Impl rule__BoolExpression__Group_1__2
            {
            pushFollow(FOLLOW_rule__BoolExpression__Group_1__1__Impl_in_rule__BoolExpression__Group_1__19314);
            rule__BoolExpression__Group_1__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__BoolExpression__Group_1__2_in_rule__BoolExpression__Group_1__19317);
            rule__BoolExpression__Group_1__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BoolExpression__Group_1__1"


    // $ANTLR start "rule__BoolExpression__Group_1__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4593:1: rule__BoolExpression__Group_1__1__Impl : ( ( rule__BoolExpression__OpAssignment_1_1 ) ) ;
    public final void rule__BoolExpression__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4597:1: ( ( ( rule__BoolExpression__OpAssignment_1_1 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4598:1: ( ( rule__BoolExpression__OpAssignment_1_1 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4598:1: ( ( rule__BoolExpression__OpAssignment_1_1 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4599:1: ( rule__BoolExpression__OpAssignment_1_1 )
            {
             before(grammarAccess.getBoolExpressionAccess().getOpAssignment_1_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4600:1: ( rule__BoolExpression__OpAssignment_1_1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4600:2: rule__BoolExpression__OpAssignment_1_1
            {
            pushFollow(FOLLOW_rule__BoolExpression__OpAssignment_1_1_in_rule__BoolExpression__Group_1__1__Impl9344);
            rule__BoolExpression__OpAssignment_1_1();

            state._fsp--;


            }

             after(grammarAccess.getBoolExpressionAccess().getOpAssignment_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BoolExpression__Group_1__1__Impl"


    // $ANTLR start "rule__BoolExpression__Group_1__2"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4610:1: rule__BoolExpression__Group_1__2 : rule__BoolExpression__Group_1__2__Impl ;
    public final void rule__BoolExpression__Group_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4614:1: ( rule__BoolExpression__Group_1__2__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4615:2: rule__BoolExpression__Group_1__2__Impl
            {
            pushFollow(FOLLOW_rule__BoolExpression__Group_1__2__Impl_in_rule__BoolExpression__Group_1__29374);
            rule__BoolExpression__Group_1__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BoolExpression__Group_1__2"


    // $ANTLR start "rule__BoolExpression__Group_1__2__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4621:1: rule__BoolExpression__Group_1__2__Impl : ( ( rule__BoolExpression__RightAssignment_1_2 ) ) ;
    public final void rule__BoolExpression__Group_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4625:1: ( ( ( rule__BoolExpression__RightAssignment_1_2 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4626:1: ( ( rule__BoolExpression__RightAssignment_1_2 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4626:1: ( ( rule__BoolExpression__RightAssignment_1_2 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4627:1: ( rule__BoolExpression__RightAssignment_1_2 )
            {
             before(grammarAccess.getBoolExpressionAccess().getRightAssignment_1_2()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4628:1: ( rule__BoolExpression__RightAssignment_1_2 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4628:2: rule__BoolExpression__RightAssignment_1_2
            {
            pushFollow(FOLLOW_rule__BoolExpression__RightAssignment_1_2_in_rule__BoolExpression__Group_1__2__Impl9401);
            rule__BoolExpression__RightAssignment_1_2();

            state._fsp--;


            }

             after(grammarAccess.getBoolExpressionAccess().getRightAssignment_1_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BoolExpression__Group_1__2__Impl"


    // $ANTLR start "rule__TerminalBoolExpression__Group_0__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4644:1: rule__TerminalBoolExpression__Group_0__0 : rule__TerminalBoolExpression__Group_0__0__Impl rule__TerminalBoolExpression__Group_0__1 ;
    public final void rule__TerminalBoolExpression__Group_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4648:1: ( rule__TerminalBoolExpression__Group_0__0__Impl rule__TerminalBoolExpression__Group_0__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4649:2: rule__TerminalBoolExpression__Group_0__0__Impl rule__TerminalBoolExpression__Group_0__1
            {
            pushFollow(FOLLOW_rule__TerminalBoolExpression__Group_0__0__Impl_in_rule__TerminalBoolExpression__Group_0__09437);
            rule__TerminalBoolExpression__Group_0__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__TerminalBoolExpression__Group_0__1_in_rule__TerminalBoolExpression__Group_0__09440);
            rule__TerminalBoolExpression__Group_0__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TerminalBoolExpression__Group_0__0"


    // $ANTLR start "rule__TerminalBoolExpression__Group_0__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4656:1: rule__TerminalBoolExpression__Group_0__0__Impl : ( '(' ) ;
    public final void rule__TerminalBoolExpression__Group_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4660:1: ( ( '(' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4661:1: ( '(' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4661:1: ( '(' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4662:1: '('
            {
             before(grammarAccess.getTerminalBoolExpressionAccess().getLeftParenthesisKeyword_0_0()); 
            match(input,37,FOLLOW_37_in_rule__TerminalBoolExpression__Group_0__0__Impl9468); 
             after(grammarAccess.getTerminalBoolExpressionAccess().getLeftParenthesisKeyword_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TerminalBoolExpression__Group_0__0__Impl"


    // $ANTLR start "rule__TerminalBoolExpression__Group_0__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4675:1: rule__TerminalBoolExpression__Group_0__1 : rule__TerminalBoolExpression__Group_0__1__Impl rule__TerminalBoolExpression__Group_0__2 ;
    public final void rule__TerminalBoolExpression__Group_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4679:1: ( rule__TerminalBoolExpression__Group_0__1__Impl rule__TerminalBoolExpression__Group_0__2 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4680:2: rule__TerminalBoolExpression__Group_0__1__Impl rule__TerminalBoolExpression__Group_0__2
            {
            pushFollow(FOLLOW_rule__TerminalBoolExpression__Group_0__1__Impl_in_rule__TerminalBoolExpression__Group_0__19499);
            rule__TerminalBoolExpression__Group_0__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__TerminalBoolExpression__Group_0__2_in_rule__TerminalBoolExpression__Group_0__19502);
            rule__TerminalBoolExpression__Group_0__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TerminalBoolExpression__Group_0__1"


    // $ANTLR start "rule__TerminalBoolExpression__Group_0__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4687:1: rule__TerminalBoolExpression__Group_0__1__Impl : ( ruleBoolExpression ) ;
    public final void rule__TerminalBoolExpression__Group_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4691:1: ( ( ruleBoolExpression ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4692:1: ( ruleBoolExpression )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4692:1: ( ruleBoolExpression )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4693:1: ruleBoolExpression
            {
             before(grammarAccess.getTerminalBoolExpressionAccess().getBoolExpressionParserRuleCall_0_1()); 
            pushFollow(FOLLOW_ruleBoolExpression_in_rule__TerminalBoolExpression__Group_0__1__Impl9529);
            ruleBoolExpression();

            state._fsp--;

             after(grammarAccess.getTerminalBoolExpressionAccess().getBoolExpressionParserRuleCall_0_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TerminalBoolExpression__Group_0__1__Impl"


    // $ANTLR start "rule__TerminalBoolExpression__Group_0__2"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4704:1: rule__TerminalBoolExpression__Group_0__2 : rule__TerminalBoolExpression__Group_0__2__Impl ;
    public final void rule__TerminalBoolExpression__Group_0__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4708:1: ( rule__TerminalBoolExpression__Group_0__2__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4709:2: rule__TerminalBoolExpression__Group_0__2__Impl
            {
            pushFollow(FOLLOW_rule__TerminalBoolExpression__Group_0__2__Impl_in_rule__TerminalBoolExpression__Group_0__29558);
            rule__TerminalBoolExpression__Group_0__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TerminalBoolExpression__Group_0__2"


    // $ANTLR start "rule__TerminalBoolExpression__Group_0__2__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4715:1: rule__TerminalBoolExpression__Group_0__2__Impl : ( ')' ) ;
    public final void rule__TerminalBoolExpression__Group_0__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4719:1: ( ( ')' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4720:1: ( ')' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4720:1: ( ')' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4721:1: ')'
            {
             before(grammarAccess.getTerminalBoolExpressionAccess().getRightParenthesisKeyword_0_2()); 
            match(input,38,FOLLOW_38_in_rule__TerminalBoolExpression__Group_0__2__Impl9586); 
             after(grammarAccess.getTerminalBoolExpressionAccess().getRightParenthesisKeyword_0_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TerminalBoolExpression__Group_0__2__Impl"


    // $ANTLR start "rule__CompareExpression__Group__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4740:1: rule__CompareExpression__Group__0 : rule__CompareExpression__Group__0__Impl rule__CompareExpression__Group__1 ;
    public final void rule__CompareExpression__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4744:1: ( rule__CompareExpression__Group__0__Impl rule__CompareExpression__Group__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4745:2: rule__CompareExpression__Group__0__Impl rule__CompareExpression__Group__1
            {
            pushFollow(FOLLOW_rule__CompareExpression__Group__0__Impl_in_rule__CompareExpression__Group__09623);
            rule__CompareExpression__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__CompareExpression__Group__1_in_rule__CompareExpression__Group__09626);
            rule__CompareExpression__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__CompareExpression__Group__0"


    // $ANTLR start "rule__CompareExpression__Group__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4752:1: rule__CompareExpression__Group__0__Impl : ( ( rule__CompareExpression__LeftAssignment_0 ) ) ;
    public final void rule__CompareExpression__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4756:1: ( ( ( rule__CompareExpression__LeftAssignment_0 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4757:1: ( ( rule__CompareExpression__LeftAssignment_0 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4757:1: ( ( rule__CompareExpression__LeftAssignment_0 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4758:1: ( rule__CompareExpression__LeftAssignment_0 )
            {
             before(grammarAccess.getCompareExpressionAccess().getLeftAssignment_0()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4759:1: ( rule__CompareExpression__LeftAssignment_0 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4759:2: rule__CompareExpression__LeftAssignment_0
            {
            pushFollow(FOLLOW_rule__CompareExpression__LeftAssignment_0_in_rule__CompareExpression__Group__0__Impl9653);
            rule__CompareExpression__LeftAssignment_0();

            state._fsp--;


            }

             after(grammarAccess.getCompareExpressionAccess().getLeftAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__CompareExpression__Group__0__Impl"


    // $ANTLR start "rule__CompareExpression__Group__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4769:1: rule__CompareExpression__Group__1 : rule__CompareExpression__Group__1__Impl rule__CompareExpression__Group__2 ;
    public final void rule__CompareExpression__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4773:1: ( rule__CompareExpression__Group__1__Impl rule__CompareExpression__Group__2 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4774:2: rule__CompareExpression__Group__1__Impl rule__CompareExpression__Group__2
            {
            pushFollow(FOLLOW_rule__CompareExpression__Group__1__Impl_in_rule__CompareExpression__Group__19683);
            rule__CompareExpression__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__CompareExpression__Group__2_in_rule__CompareExpression__Group__19686);
            rule__CompareExpression__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__CompareExpression__Group__1"


    // $ANTLR start "rule__CompareExpression__Group__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4781:1: rule__CompareExpression__Group__1__Impl : ( ( rule__CompareExpression__OpAssignment_1 ) ) ;
    public final void rule__CompareExpression__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4785:1: ( ( ( rule__CompareExpression__OpAssignment_1 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4786:1: ( ( rule__CompareExpression__OpAssignment_1 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4786:1: ( ( rule__CompareExpression__OpAssignment_1 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4787:1: ( rule__CompareExpression__OpAssignment_1 )
            {
             before(grammarAccess.getCompareExpressionAccess().getOpAssignment_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4788:1: ( rule__CompareExpression__OpAssignment_1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4788:2: rule__CompareExpression__OpAssignment_1
            {
            pushFollow(FOLLOW_rule__CompareExpression__OpAssignment_1_in_rule__CompareExpression__Group__1__Impl9713);
            rule__CompareExpression__OpAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getCompareExpressionAccess().getOpAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__CompareExpression__Group__1__Impl"


    // $ANTLR start "rule__CompareExpression__Group__2"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4798:1: rule__CompareExpression__Group__2 : rule__CompareExpression__Group__2__Impl ;
    public final void rule__CompareExpression__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4802:1: ( rule__CompareExpression__Group__2__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4803:2: rule__CompareExpression__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__CompareExpression__Group__2__Impl_in_rule__CompareExpression__Group__29743);
            rule__CompareExpression__Group__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__CompareExpression__Group__2"


    // $ANTLR start "rule__CompareExpression__Group__2__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4809:1: rule__CompareExpression__Group__2__Impl : ( ( rule__CompareExpression__RightAssignment_2 ) ) ;
    public final void rule__CompareExpression__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4813:1: ( ( ( rule__CompareExpression__RightAssignment_2 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4814:1: ( ( rule__CompareExpression__RightAssignment_2 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4814:1: ( ( rule__CompareExpression__RightAssignment_2 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4815:1: ( rule__CompareExpression__RightAssignment_2 )
            {
             before(grammarAccess.getCompareExpressionAccess().getRightAssignment_2()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4816:1: ( rule__CompareExpression__RightAssignment_2 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4816:2: rule__CompareExpression__RightAssignment_2
            {
            pushFollow(FOLLOW_rule__CompareExpression__RightAssignment_2_in_rule__CompareExpression__Group__2__Impl9770);
            rule__CompareExpression__RightAssignment_2();

            state._fsp--;


            }

             after(grammarAccess.getCompareExpressionAccess().getRightAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__CompareExpression__Group__2__Impl"


    // $ANTLR start "rule__NegExpression__Group__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4832:1: rule__NegExpression__Group__0 : rule__NegExpression__Group__0__Impl rule__NegExpression__Group__1 ;
    public final void rule__NegExpression__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4836:1: ( rule__NegExpression__Group__0__Impl rule__NegExpression__Group__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4837:2: rule__NegExpression__Group__0__Impl rule__NegExpression__Group__1
            {
            pushFollow(FOLLOW_rule__NegExpression__Group__0__Impl_in_rule__NegExpression__Group__09806);
            rule__NegExpression__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__NegExpression__Group__1_in_rule__NegExpression__Group__09809);
            rule__NegExpression__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NegExpression__Group__0"


    // $ANTLR start "rule__NegExpression__Group__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4844:1: rule__NegExpression__Group__0__Impl : ( ( rule__NegExpression__OpAssignment_0 ) ) ;
    public final void rule__NegExpression__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4848:1: ( ( ( rule__NegExpression__OpAssignment_0 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4849:1: ( ( rule__NegExpression__OpAssignment_0 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4849:1: ( ( rule__NegExpression__OpAssignment_0 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4850:1: ( rule__NegExpression__OpAssignment_0 )
            {
             before(grammarAccess.getNegExpressionAccess().getOpAssignment_0()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4851:1: ( rule__NegExpression__OpAssignment_0 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4851:2: rule__NegExpression__OpAssignment_0
            {
            pushFollow(FOLLOW_rule__NegExpression__OpAssignment_0_in_rule__NegExpression__Group__0__Impl9836);
            rule__NegExpression__OpAssignment_0();

            state._fsp--;


            }

             after(grammarAccess.getNegExpressionAccess().getOpAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NegExpression__Group__0__Impl"


    // $ANTLR start "rule__NegExpression__Group__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4861:1: rule__NegExpression__Group__1 : rule__NegExpression__Group__1__Impl ;
    public final void rule__NegExpression__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4865:1: ( rule__NegExpression__Group__1__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4866:2: rule__NegExpression__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__NegExpression__Group__1__Impl_in_rule__NegExpression__Group__19866);
            rule__NegExpression__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NegExpression__Group__1"


    // $ANTLR start "rule__NegExpression__Group__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4872:1: rule__NegExpression__Group__1__Impl : ( ( rule__NegExpression__ObjAssignment_1 ) ) ;
    public final void rule__NegExpression__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4876:1: ( ( ( rule__NegExpression__ObjAssignment_1 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4877:1: ( ( rule__NegExpression__ObjAssignment_1 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4877:1: ( ( rule__NegExpression__ObjAssignment_1 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4878:1: ( rule__NegExpression__ObjAssignment_1 )
            {
             before(grammarAccess.getNegExpressionAccess().getObjAssignment_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4879:1: ( rule__NegExpression__ObjAssignment_1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4879:2: rule__NegExpression__ObjAssignment_1
            {
            pushFollow(FOLLOW_rule__NegExpression__ObjAssignment_1_in_rule__NegExpression__Group__1__Impl9893);
            rule__NegExpression__ObjAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getNegExpressionAccess().getObjAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NegExpression__Group__1__Impl"


    // $ANTLR start "rule__MathExpression__Group__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4893:1: rule__MathExpression__Group__0 : rule__MathExpression__Group__0__Impl rule__MathExpression__Group__1 ;
    public final void rule__MathExpression__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4897:1: ( rule__MathExpression__Group__0__Impl rule__MathExpression__Group__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4898:2: rule__MathExpression__Group__0__Impl rule__MathExpression__Group__1
            {
            pushFollow(FOLLOW_rule__MathExpression__Group__0__Impl_in_rule__MathExpression__Group__09927);
            rule__MathExpression__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__MathExpression__Group__1_in_rule__MathExpression__Group__09930);
            rule__MathExpression__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MathExpression__Group__0"


    // $ANTLR start "rule__MathExpression__Group__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4905:1: rule__MathExpression__Group__0__Impl : ( ruleMathTerminal ) ;
    public final void rule__MathExpression__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4909:1: ( ( ruleMathTerminal ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4910:1: ( ruleMathTerminal )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4910:1: ( ruleMathTerminal )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4911:1: ruleMathTerminal
            {
             before(grammarAccess.getMathExpressionAccess().getMathTerminalParserRuleCall_0()); 
            pushFollow(FOLLOW_ruleMathTerminal_in_rule__MathExpression__Group__0__Impl9957);
            ruleMathTerminal();

            state._fsp--;

             after(grammarAccess.getMathExpressionAccess().getMathTerminalParserRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MathExpression__Group__0__Impl"


    // $ANTLR start "rule__MathExpression__Group__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4922:1: rule__MathExpression__Group__1 : rule__MathExpression__Group__1__Impl ;
    public final void rule__MathExpression__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4926:1: ( rule__MathExpression__Group__1__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4927:2: rule__MathExpression__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__MathExpression__Group__1__Impl_in_rule__MathExpression__Group__19986);
            rule__MathExpression__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MathExpression__Group__1"


    // $ANTLR start "rule__MathExpression__Group__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4933:1: rule__MathExpression__Group__1__Impl : ( ( rule__MathExpression__Group_1__0 )? ) ;
    public final void rule__MathExpression__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4937:1: ( ( ( rule__MathExpression__Group_1__0 )? ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4938:1: ( ( rule__MathExpression__Group_1__0 )? )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4938:1: ( ( rule__MathExpression__Group_1__0 )? )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4939:1: ( rule__MathExpression__Group_1__0 )?
            {
             before(grammarAccess.getMathExpressionAccess().getGroup_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4940:1: ( rule__MathExpression__Group_1__0 )?
            int alt27=2;
            int LA27_0 = input.LA(1);

            if ( (LA27_0==RULE_MATH) ) {
                alt27=1;
            }
            switch (alt27) {
                case 1 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4940:2: rule__MathExpression__Group_1__0
                    {
                    pushFollow(FOLLOW_rule__MathExpression__Group_1__0_in_rule__MathExpression__Group__1__Impl10013);
                    rule__MathExpression__Group_1__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getMathExpressionAccess().getGroup_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MathExpression__Group__1__Impl"


    // $ANTLR start "rule__MathExpression__Group_1__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4954:1: rule__MathExpression__Group_1__0 : rule__MathExpression__Group_1__0__Impl rule__MathExpression__Group_1__1 ;
    public final void rule__MathExpression__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4958:1: ( rule__MathExpression__Group_1__0__Impl rule__MathExpression__Group_1__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4959:2: rule__MathExpression__Group_1__0__Impl rule__MathExpression__Group_1__1
            {
            pushFollow(FOLLOW_rule__MathExpression__Group_1__0__Impl_in_rule__MathExpression__Group_1__010048);
            rule__MathExpression__Group_1__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__MathExpression__Group_1__1_in_rule__MathExpression__Group_1__010051);
            rule__MathExpression__Group_1__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MathExpression__Group_1__0"


    // $ANTLR start "rule__MathExpression__Group_1__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4966:1: rule__MathExpression__Group_1__0__Impl : ( () ) ;
    public final void rule__MathExpression__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4970:1: ( ( () ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4971:1: ( () )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4971:1: ( () )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4972:1: ()
            {
             before(grammarAccess.getMathExpressionAccess().getOperationLeftAction_1_0()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4973:1: ()
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4975:1: 
            {
            }

             after(grammarAccess.getMathExpressionAccess().getOperationLeftAction_1_0()); 

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MathExpression__Group_1__0__Impl"


    // $ANTLR start "rule__MathExpression__Group_1__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4985:1: rule__MathExpression__Group_1__1 : rule__MathExpression__Group_1__1__Impl rule__MathExpression__Group_1__2 ;
    public final void rule__MathExpression__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4989:1: ( rule__MathExpression__Group_1__1__Impl rule__MathExpression__Group_1__2 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4990:2: rule__MathExpression__Group_1__1__Impl rule__MathExpression__Group_1__2
            {
            pushFollow(FOLLOW_rule__MathExpression__Group_1__1__Impl_in_rule__MathExpression__Group_1__110109);
            rule__MathExpression__Group_1__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__MathExpression__Group_1__2_in_rule__MathExpression__Group_1__110112);
            rule__MathExpression__Group_1__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MathExpression__Group_1__1"


    // $ANTLR start "rule__MathExpression__Group_1__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:4997:1: rule__MathExpression__Group_1__1__Impl : ( ( rule__MathExpression__OpAssignment_1_1 ) ) ;
    public final void rule__MathExpression__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5001:1: ( ( ( rule__MathExpression__OpAssignment_1_1 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5002:1: ( ( rule__MathExpression__OpAssignment_1_1 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5002:1: ( ( rule__MathExpression__OpAssignment_1_1 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5003:1: ( rule__MathExpression__OpAssignment_1_1 )
            {
             before(grammarAccess.getMathExpressionAccess().getOpAssignment_1_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5004:1: ( rule__MathExpression__OpAssignment_1_1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5004:2: rule__MathExpression__OpAssignment_1_1
            {
            pushFollow(FOLLOW_rule__MathExpression__OpAssignment_1_1_in_rule__MathExpression__Group_1__1__Impl10139);
            rule__MathExpression__OpAssignment_1_1();

            state._fsp--;


            }

             after(grammarAccess.getMathExpressionAccess().getOpAssignment_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MathExpression__Group_1__1__Impl"


    // $ANTLR start "rule__MathExpression__Group_1__2"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5014:1: rule__MathExpression__Group_1__2 : rule__MathExpression__Group_1__2__Impl ;
    public final void rule__MathExpression__Group_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5018:1: ( rule__MathExpression__Group_1__2__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5019:2: rule__MathExpression__Group_1__2__Impl
            {
            pushFollow(FOLLOW_rule__MathExpression__Group_1__2__Impl_in_rule__MathExpression__Group_1__210169);
            rule__MathExpression__Group_1__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MathExpression__Group_1__2"


    // $ANTLR start "rule__MathExpression__Group_1__2__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5025:1: rule__MathExpression__Group_1__2__Impl : ( ( rule__MathExpression__RightAssignment_1_2 ) ) ;
    public final void rule__MathExpression__Group_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5029:1: ( ( ( rule__MathExpression__RightAssignment_1_2 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5030:1: ( ( rule__MathExpression__RightAssignment_1_2 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5030:1: ( ( rule__MathExpression__RightAssignment_1_2 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5031:1: ( rule__MathExpression__RightAssignment_1_2 )
            {
             before(grammarAccess.getMathExpressionAccess().getRightAssignment_1_2()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5032:1: ( rule__MathExpression__RightAssignment_1_2 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5032:2: rule__MathExpression__RightAssignment_1_2
            {
            pushFollow(FOLLOW_rule__MathExpression__RightAssignment_1_2_in_rule__MathExpression__Group_1__2__Impl10196);
            rule__MathExpression__RightAssignment_1_2();

            state._fsp--;


            }

             after(grammarAccess.getMathExpressionAccess().getRightAssignment_1_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MathExpression__Group_1__2__Impl"


    // $ANTLR start "rule__MathTerminal__Group_0__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5048:1: rule__MathTerminal__Group_0__0 : rule__MathTerminal__Group_0__0__Impl rule__MathTerminal__Group_0__1 ;
    public final void rule__MathTerminal__Group_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5052:1: ( rule__MathTerminal__Group_0__0__Impl rule__MathTerminal__Group_0__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5053:2: rule__MathTerminal__Group_0__0__Impl rule__MathTerminal__Group_0__1
            {
            pushFollow(FOLLOW_rule__MathTerminal__Group_0__0__Impl_in_rule__MathTerminal__Group_0__010232);
            rule__MathTerminal__Group_0__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__MathTerminal__Group_0__1_in_rule__MathTerminal__Group_0__010235);
            rule__MathTerminal__Group_0__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MathTerminal__Group_0__0"


    // $ANTLR start "rule__MathTerminal__Group_0__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5060:1: rule__MathTerminal__Group_0__0__Impl : ( '(' ) ;
    public final void rule__MathTerminal__Group_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5064:1: ( ( '(' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5065:1: ( '(' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5065:1: ( '(' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5066:1: '('
            {
             before(grammarAccess.getMathTerminalAccess().getLeftParenthesisKeyword_0_0()); 
            match(input,37,FOLLOW_37_in_rule__MathTerminal__Group_0__0__Impl10263); 
             after(grammarAccess.getMathTerminalAccess().getLeftParenthesisKeyword_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MathTerminal__Group_0__0__Impl"


    // $ANTLR start "rule__MathTerminal__Group_0__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5079:1: rule__MathTerminal__Group_0__1 : rule__MathTerminal__Group_0__1__Impl rule__MathTerminal__Group_0__2 ;
    public final void rule__MathTerminal__Group_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5083:1: ( rule__MathTerminal__Group_0__1__Impl rule__MathTerminal__Group_0__2 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5084:2: rule__MathTerminal__Group_0__1__Impl rule__MathTerminal__Group_0__2
            {
            pushFollow(FOLLOW_rule__MathTerminal__Group_0__1__Impl_in_rule__MathTerminal__Group_0__110294);
            rule__MathTerminal__Group_0__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__MathTerminal__Group_0__2_in_rule__MathTerminal__Group_0__110297);
            rule__MathTerminal__Group_0__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MathTerminal__Group_0__1"


    // $ANTLR start "rule__MathTerminal__Group_0__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5091:1: rule__MathTerminal__Group_0__1__Impl : ( ruleMathExpression ) ;
    public final void rule__MathTerminal__Group_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5095:1: ( ( ruleMathExpression ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5096:1: ( ruleMathExpression )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5096:1: ( ruleMathExpression )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5097:1: ruleMathExpression
            {
             before(grammarAccess.getMathTerminalAccess().getMathExpressionParserRuleCall_0_1()); 
            pushFollow(FOLLOW_ruleMathExpression_in_rule__MathTerminal__Group_0__1__Impl10324);
            ruleMathExpression();

            state._fsp--;

             after(grammarAccess.getMathTerminalAccess().getMathExpressionParserRuleCall_0_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MathTerminal__Group_0__1__Impl"


    // $ANTLR start "rule__MathTerminal__Group_0__2"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5108:1: rule__MathTerminal__Group_0__2 : rule__MathTerminal__Group_0__2__Impl ;
    public final void rule__MathTerminal__Group_0__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5112:1: ( rule__MathTerminal__Group_0__2__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5113:2: rule__MathTerminal__Group_0__2__Impl
            {
            pushFollow(FOLLOW_rule__MathTerminal__Group_0__2__Impl_in_rule__MathTerminal__Group_0__210353);
            rule__MathTerminal__Group_0__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MathTerminal__Group_0__2"


    // $ANTLR start "rule__MathTerminal__Group_0__2__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5119:1: rule__MathTerminal__Group_0__2__Impl : ( ')' ) ;
    public final void rule__MathTerminal__Group_0__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5123:1: ( ( ')' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5124:1: ( ')' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5124:1: ( ')' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5125:1: ')'
            {
             before(grammarAccess.getMathTerminalAccess().getRightParenthesisKeyword_0_2()); 
            match(input,38,FOLLOW_38_in_rule__MathTerminal__Group_0__2__Impl10381); 
             after(grammarAccess.getMathTerminalAccess().getRightParenthesisKeyword_0_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MathTerminal__Group_0__2__Impl"


    // $ANTLR start "rule__ConcatenationExpression__Group__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5144:1: rule__ConcatenationExpression__Group__0 : rule__ConcatenationExpression__Group__0__Impl rule__ConcatenationExpression__Group__1 ;
    public final void rule__ConcatenationExpression__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5148:1: ( rule__ConcatenationExpression__Group__0__Impl rule__ConcatenationExpression__Group__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5149:2: rule__ConcatenationExpression__Group__0__Impl rule__ConcatenationExpression__Group__1
            {
            pushFollow(FOLLOW_rule__ConcatenationExpression__Group__0__Impl_in_rule__ConcatenationExpression__Group__010418);
            rule__ConcatenationExpression__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ConcatenationExpression__Group__1_in_rule__ConcatenationExpression__Group__010421);
            rule__ConcatenationExpression__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConcatenationExpression__Group__0"


    // $ANTLR start "rule__ConcatenationExpression__Group__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5156:1: rule__ConcatenationExpression__Group__0__Impl : ( ruleConcatenationTerminal ) ;
    public final void rule__ConcatenationExpression__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5160:1: ( ( ruleConcatenationTerminal ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5161:1: ( ruleConcatenationTerminal )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5161:1: ( ruleConcatenationTerminal )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5162:1: ruleConcatenationTerminal
            {
             before(grammarAccess.getConcatenationExpressionAccess().getConcatenationTerminalParserRuleCall_0()); 
            pushFollow(FOLLOW_ruleConcatenationTerminal_in_rule__ConcatenationExpression__Group__0__Impl10448);
            ruleConcatenationTerminal();

            state._fsp--;

             after(grammarAccess.getConcatenationExpressionAccess().getConcatenationTerminalParserRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConcatenationExpression__Group__0__Impl"


    // $ANTLR start "rule__ConcatenationExpression__Group__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5173:1: rule__ConcatenationExpression__Group__1 : rule__ConcatenationExpression__Group__1__Impl ;
    public final void rule__ConcatenationExpression__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5177:1: ( rule__ConcatenationExpression__Group__1__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5178:2: rule__ConcatenationExpression__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__ConcatenationExpression__Group__1__Impl_in_rule__ConcatenationExpression__Group__110477);
            rule__ConcatenationExpression__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConcatenationExpression__Group__1"


    // $ANTLR start "rule__ConcatenationExpression__Group__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5184:1: rule__ConcatenationExpression__Group__1__Impl : ( ( rule__ConcatenationExpression__Group_1__0 )? ) ;
    public final void rule__ConcatenationExpression__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5188:1: ( ( ( rule__ConcatenationExpression__Group_1__0 )? ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5189:1: ( ( rule__ConcatenationExpression__Group_1__0 )? )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5189:1: ( ( rule__ConcatenationExpression__Group_1__0 )? )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5190:1: ( rule__ConcatenationExpression__Group_1__0 )?
            {
             before(grammarAccess.getConcatenationExpressionAccess().getGroup_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5191:1: ( rule__ConcatenationExpression__Group_1__0 )?
            int alt28=2;
            int LA28_0 = input.LA(1);

            if ( (LA28_0==RULE_CONCATENATION) ) {
                alt28=1;
            }
            switch (alt28) {
                case 1 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5191:2: rule__ConcatenationExpression__Group_1__0
                    {
                    pushFollow(FOLLOW_rule__ConcatenationExpression__Group_1__0_in_rule__ConcatenationExpression__Group__1__Impl10504);
                    rule__ConcatenationExpression__Group_1__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getConcatenationExpressionAccess().getGroup_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConcatenationExpression__Group__1__Impl"


    // $ANTLR start "rule__ConcatenationExpression__Group_1__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5205:1: rule__ConcatenationExpression__Group_1__0 : rule__ConcatenationExpression__Group_1__0__Impl rule__ConcatenationExpression__Group_1__1 ;
    public final void rule__ConcatenationExpression__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5209:1: ( rule__ConcatenationExpression__Group_1__0__Impl rule__ConcatenationExpression__Group_1__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5210:2: rule__ConcatenationExpression__Group_1__0__Impl rule__ConcatenationExpression__Group_1__1
            {
            pushFollow(FOLLOW_rule__ConcatenationExpression__Group_1__0__Impl_in_rule__ConcatenationExpression__Group_1__010539);
            rule__ConcatenationExpression__Group_1__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ConcatenationExpression__Group_1__1_in_rule__ConcatenationExpression__Group_1__010542);
            rule__ConcatenationExpression__Group_1__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConcatenationExpression__Group_1__0"


    // $ANTLR start "rule__ConcatenationExpression__Group_1__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5217:1: rule__ConcatenationExpression__Group_1__0__Impl : ( () ) ;
    public final void rule__ConcatenationExpression__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5221:1: ( ( () ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5222:1: ( () )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5222:1: ( () )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5223:1: ()
            {
             before(grammarAccess.getConcatenationExpressionAccess().getConcatenationLeftAction_1_0()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5224:1: ()
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5226:1: 
            {
            }

             after(grammarAccess.getConcatenationExpressionAccess().getConcatenationLeftAction_1_0()); 

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConcatenationExpression__Group_1__0__Impl"


    // $ANTLR start "rule__ConcatenationExpression__Group_1__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5236:1: rule__ConcatenationExpression__Group_1__1 : rule__ConcatenationExpression__Group_1__1__Impl rule__ConcatenationExpression__Group_1__2 ;
    public final void rule__ConcatenationExpression__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5240:1: ( rule__ConcatenationExpression__Group_1__1__Impl rule__ConcatenationExpression__Group_1__2 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5241:2: rule__ConcatenationExpression__Group_1__1__Impl rule__ConcatenationExpression__Group_1__2
            {
            pushFollow(FOLLOW_rule__ConcatenationExpression__Group_1__1__Impl_in_rule__ConcatenationExpression__Group_1__110600);
            rule__ConcatenationExpression__Group_1__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ConcatenationExpression__Group_1__2_in_rule__ConcatenationExpression__Group_1__110603);
            rule__ConcatenationExpression__Group_1__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConcatenationExpression__Group_1__1"


    // $ANTLR start "rule__ConcatenationExpression__Group_1__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5248:1: rule__ConcatenationExpression__Group_1__1__Impl : ( ( rule__ConcatenationExpression__OpAssignment_1_1 ) ) ;
    public final void rule__ConcatenationExpression__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5252:1: ( ( ( rule__ConcatenationExpression__OpAssignment_1_1 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5253:1: ( ( rule__ConcatenationExpression__OpAssignment_1_1 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5253:1: ( ( rule__ConcatenationExpression__OpAssignment_1_1 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5254:1: ( rule__ConcatenationExpression__OpAssignment_1_1 )
            {
             before(grammarAccess.getConcatenationExpressionAccess().getOpAssignment_1_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5255:1: ( rule__ConcatenationExpression__OpAssignment_1_1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5255:2: rule__ConcatenationExpression__OpAssignment_1_1
            {
            pushFollow(FOLLOW_rule__ConcatenationExpression__OpAssignment_1_1_in_rule__ConcatenationExpression__Group_1__1__Impl10630);
            rule__ConcatenationExpression__OpAssignment_1_1();

            state._fsp--;


            }

             after(grammarAccess.getConcatenationExpressionAccess().getOpAssignment_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConcatenationExpression__Group_1__1__Impl"


    // $ANTLR start "rule__ConcatenationExpression__Group_1__2"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5265:1: rule__ConcatenationExpression__Group_1__2 : rule__ConcatenationExpression__Group_1__2__Impl ;
    public final void rule__ConcatenationExpression__Group_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5269:1: ( rule__ConcatenationExpression__Group_1__2__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5270:2: rule__ConcatenationExpression__Group_1__2__Impl
            {
            pushFollow(FOLLOW_rule__ConcatenationExpression__Group_1__2__Impl_in_rule__ConcatenationExpression__Group_1__210660);
            rule__ConcatenationExpression__Group_1__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConcatenationExpression__Group_1__2"


    // $ANTLR start "rule__ConcatenationExpression__Group_1__2__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5276:1: rule__ConcatenationExpression__Group_1__2__Impl : ( ( rule__ConcatenationExpression__RightAssignment_1_2 ) ) ;
    public final void rule__ConcatenationExpression__Group_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5280:1: ( ( ( rule__ConcatenationExpression__RightAssignment_1_2 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5281:1: ( ( rule__ConcatenationExpression__RightAssignment_1_2 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5281:1: ( ( rule__ConcatenationExpression__RightAssignment_1_2 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5282:1: ( rule__ConcatenationExpression__RightAssignment_1_2 )
            {
             before(grammarAccess.getConcatenationExpressionAccess().getRightAssignment_1_2()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5283:1: ( rule__ConcatenationExpression__RightAssignment_1_2 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5283:2: rule__ConcatenationExpression__RightAssignment_1_2
            {
            pushFollow(FOLLOW_rule__ConcatenationExpression__RightAssignment_1_2_in_rule__ConcatenationExpression__Group_1__2__Impl10687);
            rule__ConcatenationExpression__RightAssignment_1_2();

            state._fsp--;


            }

             after(grammarAccess.getConcatenationExpressionAccess().getRightAssignment_1_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConcatenationExpression__Group_1__2__Impl"


    // $ANTLR start "rule__ConcatenationTerminal__Group_0__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5299:1: rule__ConcatenationTerminal__Group_0__0 : rule__ConcatenationTerminal__Group_0__0__Impl rule__ConcatenationTerminal__Group_0__1 ;
    public final void rule__ConcatenationTerminal__Group_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5303:1: ( rule__ConcatenationTerminal__Group_0__0__Impl rule__ConcatenationTerminal__Group_0__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5304:2: rule__ConcatenationTerminal__Group_0__0__Impl rule__ConcatenationTerminal__Group_0__1
            {
            pushFollow(FOLLOW_rule__ConcatenationTerminal__Group_0__0__Impl_in_rule__ConcatenationTerminal__Group_0__010723);
            rule__ConcatenationTerminal__Group_0__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ConcatenationTerminal__Group_0__1_in_rule__ConcatenationTerminal__Group_0__010726);
            rule__ConcatenationTerminal__Group_0__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConcatenationTerminal__Group_0__0"


    // $ANTLR start "rule__ConcatenationTerminal__Group_0__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5311:1: rule__ConcatenationTerminal__Group_0__0__Impl : ( '(' ) ;
    public final void rule__ConcatenationTerminal__Group_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5315:1: ( ( '(' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5316:1: ( '(' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5316:1: ( '(' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5317:1: '('
            {
             before(grammarAccess.getConcatenationTerminalAccess().getLeftParenthesisKeyword_0_0()); 
            match(input,37,FOLLOW_37_in_rule__ConcatenationTerminal__Group_0__0__Impl10754); 
             after(grammarAccess.getConcatenationTerminalAccess().getLeftParenthesisKeyword_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConcatenationTerminal__Group_0__0__Impl"


    // $ANTLR start "rule__ConcatenationTerminal__Group_0__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5330:1: rule__ConcatenationTerminal__Group_0__1 : rule__ConcatenationTerminal__Group_0__1__Impl rule__ConcatenationTerminal__Group_0__2 ;
    public final void rule__ConcatenationTerminal__Group_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5334:1: ( rule__ConcatenationTerminal__Group_0__1__Impl rule__ConcatenationTerminal__Group_0__2 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5335:2: rule__ConcatenationTerminal__Group_0__1__Impl rule__ConcatenationTerminal__Group_0__2
            {
            pushFollow(FOLLOW_rule__ConcatenationTerminal__Group_0__1__Impl_in_rule__ConcatenationTerminal__Group_0__110785);
            rule__ConcatenationTerminal__Group_0__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ConcatenationTerminal__Group_0__2_in_rule__ConcatenationTerminal__Group_0__110788);
            rule__ConcatenationTerminal__Group_0__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConcatenationTerminal__Group_0__1"


    // $ANTLR start "rule__ConcatenationTerminal__Group_0__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5342:1: rule__ConcatenationTerminal__Group_0__1__Impl : ( ruleConcatenationExpression ) ;
    public final void rule__ConcatenationTerminal__Group_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5346:1: ( ( ruleConcatenationExpression ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5347:1: ( ruleConcatenationExpression )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5347:1: ( ruleConcatenationExpression )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5348:1: ruleConcatenationExpression
            {
             before(grammarAccess.getConcatenationTerminalAccess().getConcatenationExpressionParserRuleCall_0_1()); 
            pushFollow(FOLLOW_ruleConcatenationExpression_in_rule__ConcatenationTerminal__Group_0__1__Impl10815);
            ruleConcatenationExpression();

            state._fsp--;

             after(grammarAccess.getConcatenationTerminalAccess().getConcatenationExpressionParserRuleCall_0_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConcatenationTerminal__Group_0__1__Impl"


    // $ANTLR start "rule__ConcatenationTerminal__Group_0__2"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5359:1: rule__ConcatenationTerminal__Group_0__2 : rule__ConcatenationTerminal__Group_0__2__Impl ;
    public final void rule__ConcatenationTerminal__Group_0__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5363:1: ( rule__ConcatenationTerminal__Group_0__2__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5364:2: rule__ConcatenationTerminal__Group_0__2__Impl
            {
            pushFollow(FOLLOW_rule__ConcatenationTerminal__Group_0__2__Impl_in_rule__ConcatenationTerminal__Group_0__210844);
            rule__ConcatenationTerminal__Group_0__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConcatenationTerminal__Group_0__2"


    // $ANTLR start "rule__ConcatenationTerminal__Group_0__2__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5370:1: rule__ConcatenationTerminal__Group_0__2__Impl : ( ')' ) ;
    public final void rule__ConcatenationTerminal__Group_0__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5374:1: ( ( ')' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5375:1: ( ')' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5375:1: ( ')' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5376:1: ')'
            {
             before(grammarAccess.getConcatenationTerminalAccess().getRightParenthesisKeyword_0_2()); 
            match(input,38,FOLLOW_38_in_rule__ConcatenationTerminal__Group_0__2__Impl10872); 
             after(grammarAccess.getConcatenationTerminalAccess().getRightParenthesisKeyword_0_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConcatenationTerminal__Group_0__2__Impl"


    // $ANTLR start "rule__StringVariable__Group__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5395:1: rule__StringVariable__Group__0 : rule__StringVariable__Group__0__Impl rule__StringVariable__Group__1 ;
    public final void rule__StringVariable__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5399:1: ( rule__StringVariable__Group__0__Impl rule__StringVariable__Group__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5400:2: rule__StringVariable__Group__0__Impl rule__StringVariable__Group__1
            {
            pushFollow(FOLLOW_rule__StringVariable__Group__0__Impl_in_rule__StringVariable__Group__010909);
            rule__StringVariable__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__StringVariable__Group__1_in_rule__StringVariable__Group__010912);
            rule__StringVariable__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StringVariable__Group__0"


    // $ANTLR start "rule__StringVariable__Group__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5407:1: rule__StringVariable__Group__0__Impl : ( 'string' ) ;
    public final void rule__StringVariable__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5411:1: ( ( 'string' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5412:1: ( 'string' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5412:1: ( 'string' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5413:1: 'string'
            {
             before(grammarAccess.getStringVariableAccess().getStringKeyword_0()); 
            match(input,47,FOLLOW_47_in_rule__StringVariable__Group__0__Impl10940); 
             after(grammarAccess.getStringVariableAccess().getStringKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StringVariable__Group__0__Impl"


    // $ANTLR start "rule__StringVariable__Group__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5426:1: rule__StringVariable__Group__1 : rule__StringVariable__Group__1__Impl rule__StringVariable__Group__2 ;
    public final void rule__StringVariable__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5430:1: ( rule__StringVariable__Group__1__Impl rule__StringVariable__Group__2 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5431:2: rule__StringVariable__Group__1__Impl rule__StringVariable__Group__2
            {
            pushFollow(FOLLOW_rule__StringVariable__Group__1__Impl_in_rule__StringVariable__Group__110971);
            rule__StringVariable__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__StringVariable__Group__2_in_rule__StringVariable__Group__110974);
            rule__StringVariable__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StringVariable__Group__1"


    // $ANTLR start "rule__StringVariable__Group__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5438:1: rule__StringVariable__Group__1__Impl : ( ( rule__StringVariable__NameAssignment_1 ) ) ;
    public final void rule__StringVariable__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5442:1: ( ( ( rule__StringVariable__NameAssignment_1 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5443:1: ( ( rule__StringVariable__NameAssignment_1 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5443:1: ( ( rule__StringVariable__NameAssignment_1 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5444:1: ( rule__StringVariable__NameAssignment_1 )
            {
             before(grammarAccess.getStringVariableAccess().getNameAssignment_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5445:1: ( rule__StringVariable__NameAssignment_1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5445:2: rule__StringVariable__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__StringVariable__NameAssignment_1_in_rule__StringVariable__Group__1__Impl11001);
            rule__StringVariable__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getStringVariableAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StringVariable__Group__1__Impl"


    // $ANTLR start "rule__StringVariable__Group__2"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5455:1: rule__StringVariable__Group__2 : rule__StringVariable__Group__2__Impl rule__StringVariable__Group__3 ;
    public final void rule__StringVariable__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5459:1: ( rule__StringVariable__Group__2__Impl rule__StringVariable__Group__3 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5460:2: rule__StringVariable__Group__2__Impl rule__StringVariable__Group__3
            {
            pushFollow(FOLLOW_rule__StringVariable__Group__2__Impl_in_rule__StringVariable__Group__211031);
            rule__StringVariable__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__StringVariable__Group__3_in_rule__StringVariable__Group__211034);
            rule__StringVariable__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StringVariable__Group__2"


    // $ANTLR start "rule__StringVariable__Group__2__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5467:1: rule__StringVariable__Group__2__Impl : ( ( rule__StringVariable__Group_2__0 )? ) ;
    public final void rule__StringVariable__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5471:1: ( ( ( rule__StringVariable__Group_2__0 )? ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5472:1: ( ( rule__StringVariable__Group_2__0 )? )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5472:1: ( ( rule__StringVariable__Group_2__0 )? )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5473:1: ( rule__StringVariable__Group_2__0 )?
            {
             before(grammarAccess.getStringVariableAccess().getGroup_2()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5474:1: ( rule__StringVariable__Group_2__0 )?
            int alt29=2;
            int LA29_0 = input.LA(1);

            if ( (LA29_0==48) ) {
                alt29=1;
            }
            switch (alt29) {
                case 1 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5474:2: rule__StringVariable__Group_2__0
                    {
                    pushFollow(FOLLOW_rule__StringVariable__Group_2__0_in_rule__StringVariable__Group__2__Impl11061);
                    rule__StringVariable__Group_2__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getStringVariableAccess().getGroup_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StringVariable__Group__2__Impl"


    // $ANTLR start "rule__StringVariable__Group__3"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5484:1: rule__StringVariable__Group__3 : rule__StringVariable__Group__3__Impl ;
    public final void rule__StringVariable__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5488:1: ( rule__StringVariable__Group__3__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5489:2: rule__StringVariable__Group__3__Impl
            {
            pushFollow(FOLLOW_rule__StringVariable__Group__3__Impl_in_rule__StringVariable__Group__311092);
            rule__StringVariable__Group__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StringVariable__Group__3"


    // $ANTLR start "rule__StringVariable__Group__3__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5495:1: rule__StringVariable__Group__3__Impl : ( ';' ) ;
    public final void rule__StringVariable__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5499:1: ( ( ';' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5500:1: ( ';' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5500:1: ( ';' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5501:1: ';'
            {
             before(grammarAccess.getStringVariableAccess().getSemicolonKeyword_3()); 
            match(input,28,FOLLOW_28_in_rule__StringVariable__Group__3__Impl11120); 
             after(grammarAccess.getStringVariableAccess().getSemicolonKeyword_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StringVariable__Group__3__Impl"


    // $ANTLR start "rule__StringVariable__Group_2__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5522:1: rule__StringVariable__Group_2__0 : rule__StringVariable__Group_2__0__Impl rule__StringVariable__Group_2__1 ;
    public final void rule__StringVariable__Group_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5526:1: ( rule__StringVariable__Group_2__0__Impl rule__StringVariable__Group_2__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5527:2: rule__StringVariable__Group_2__0__Impl rule__StringVariable__Group_2__1
            {
            pushFollow(FOLLOW_rule__StringVariable__Group_2__0__Impl_in_rule__StringVariable__Group_2__011159);
            rule__StringVariable__Group_2__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__StringVariable__Group_2__1_in_rule__StringVariable__Group_2__011162);
            rule__StringVariable__Group_2__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StringVariable__Group_2__0"


    // $ANTLR start "rule__StringVariable__Group_2__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5534:1: rule__StringVariable__Group_2__0__Impl : ( '=' ) ;
    public final void rule__StringVariable__Group_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5538:1: ( ( '=' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5539:1: ( '=' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5539:1: ( '=' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5540:1: '='
            {
             before(grammarAccess.getStringVariableAccess().getEqualsSignKeyword_2_0()); 
            match(input,48,FOLLOW_48_in_rule__StringVariable__Group_2__0__Impl11190); 
             after(grammarAccess.getStringVariableAccess().getEqualsSignKeyword_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StringVariable__Group_2__0__Impl"


    // $ANTLR start "rule__StringVariable__Group_2__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5553:1: rule__StringVariable__Group_2__1 : rule__StringVariable__Group_2__1__Impl ;
    public final void rule__StringVariable__Group_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5557:1: ( rule__StringVariable__Group_2__1__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5558:2: rule__StringVariable__Group_2__1__Impl
            {
            pushFollow(FOLLOW_rule__StringVariable__Group_2__1__Impl_in_rule__StringVariable__Group_2__111221);
            rule__StringVariable__Group_2__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StringVariable__Group_2__1"


    // $ANTLR start "rule__StringVariable__Group_2__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5564:1: rule__StringVariable__Group_2__1__Impl : ( ( rule__StringVariable__ValueAssignment_2_1 ) ) ;
    public final void rule__StringVariable__Group_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5568:1: ( ( ( rule__StringVariable__ValueAssignment_2_1 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5569:1: ( ( rule__StringVariable__ValueAssignment_2_1 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5569:1: ( ( rule__StringVariable__ValueAssignment_2_1 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5570:1: ( rule__StringVariable__ValueAssignment_2_1 )
            {
             before(grammarAccess.getStringVariableAccess().getValueAssignment_2_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5571:1: ( rule__StringVariable__ValueAssignment_2_1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5571:2: rule__StringVariable__ValueAssignment_2_1
            {
            pushFollow(FOLLOW_rule__StringVariable__ValueAssignment_2_1_in_rule__StringVariable__Group_2__1__Impl11248);
            rule__StringVariable__ValueAssignment_2_1();

            state._fsp--;


            }

             after(grammarAccess.getStringVariableAccess().getValueAssignment_2_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StringVariable__Group_2__1__Impl"


    // $ANTLR start "rule__NumVariable__Group__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5585:1: rule__NumVariable__Group__0 : rule__NumVariable__Group__0__Impl rule__NumVariable__Group__1 ;
    public final void rule__NumVariable__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5589:1: ( rule__NumVariable__Group__0__Impl rule__NumVariable__Group__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5590:2: rule__NumVariable__Group__0__Impl rule__NumVariable__Group__1
            {
            pushFollow(FOLLOW_rule__NumVariable__Group__0__Impl_in_rule__NumVariable__Group__011282);
            rule__NumVariable__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__NumVariable__Group__1_in_rule__NumVariable__Group__011285);
            rule__NumVariable__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NumVariable__Group__0"


    // $ANTLR start "rule__NumVariable__Group__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5597:1: rule__NumVariable__Group__0__Impl : ( 'num' ) ;
    public final void rule__NumVariable__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5601:1: ( ( 'num' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5602:1: ( 'num' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5602:1: ( 'num' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5603:1: 'num'
            {
             before(grammarAccess.getNumVariableAccess().getNumKeyword_0()); 
            match(input,49,FOLLOW_49_in_rule__NumVariable__Group__0__Impl11313); 
             after(grammarAccess.getNumVariableAccess().getNumKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NumVariable__Group__0__Impl"


    // $ANTLR start "rule__NumVariable__Group__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5616:1: rule__NumVariable__Group__1 : rule__NumVariable__Group__1__Impl rule__NumVariable__Group__2 ;
    public final void rule__NumVariable__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5620:1: ( rule__NumVariable__Group__1__Impl rule__NumVariable__Group__2 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5621:2: rule__NumVariable__Group__1__Impl rule__NumVariable__Group__2
            {
            pushFollow(FOLLOW_rule__NumVariable__Group__1__Impl_in_rule__NumVariable__Group__111344);
            rule__NumVariable__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__NumVariable__Group__2_in_rule__NumVariable__Group__111347);
            rule__NumVariable__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NumVariable__Group__1"


    // $ANTLR start "rule__NumVariable__Group__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5628:1: rule__NumVariable__Group__1__Impl : ( ( rule__NumVariable__NameAssignment_1 ) ) ;
    public final void rule__NumVariable__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5632:1: ( ( ( rule__NumVariable__NameAssignment_1 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5633:1: ( ( rule__NumVariable__NameAssignment_1 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5633:1: ( ( rule__NumVariable__NameAssignment_1 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5634:1: ( rule__NumVariable__NameAssignment_1 )
            {
             before(grammarAccess.getNumVariableAccess().getNameAssignment_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5635:1: ( rule__NumVariable__NameAssignment_1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5635:2: rule__NumVariable__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__NumVariable__NameAssignment_1_in_rule__NumVariable__Group__1__Impl11374);
            rule__NumVariable__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getNumVariableAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NumVariable__Group__1__Impl"


    // $ANTLR start "rule__NumVariable__Group__2"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5645:1: rule__NumVariable__Group__2 : rule__NumVariable__Group__2__Impl rule__NumVariable__Group__3 ;
    public final void rule__NumVariable__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5649:1: ( rule__NumVariable__Group__2__Impl rule__NumVariable__Group__3 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5650:2: rule__NumVariable__Group__2__Impl rule__NumVariable__Group__3
            {
            pushFollow(FOLLOW_rule__NumVariable__Group__2__Impl_in_rule__NumVariable__Group__211404);
            rule__NumVariable__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__NumVariable__Group__3_in_rule__NumVariable__Group__211407);
            rule__NumVariable__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NumVariable__Group__2"


    // $ANTLR start "rule__NumVariable__Group__2__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5657:1: rule__NumVariable__Group__2__Impl : ( ( rule__NumVariable__Group_2__0 )? ) ;
    public final void rule__NumVariable__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5661:1: ( ( ( rule__NumVariable__Group_2__0 )? ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5662:1: ( ( rule__NumVariable__Group_2__0 )? )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5662:1: ( ( rule__NumVariable__Group_2__0 )? )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5663:1: ( rule__NumVariable__Group_2__0 )?
            {
             before(grammarAccess.getNumVariableAccess().getGroup_2()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5664:1: ( rule__NumVariable__Group_2__0 )?
            int alt30=2;
            int LA30_0 = input.LA(1);

            if ( (LA30_0==48) ) {
                alt30=1;
            }
            switch (alt30) {
                case 1 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5664:2: rule__NumVariable__Group_2__0
                    {
                    pushFollow(FOLLOW_rule__NumVariable__Group_2__0_in_rule__NumVariable__Group__2__Impl11434);
                    rule__NumVariable__Group_2__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getNumVariableAccess().getGroup_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NumVariable__Group__2__Impl"


    // $ANTLR start "rule__NumVariable__Group__3"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5674:1: rule__NumVariable__Group__3 : rule__NumVariable__Group__3__Impl ;
    public final void rule__NumVariable__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5678:1: ( rule__NumVariable__Group__3__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5679:2: rule__NumVariable__Group__3__Impl
            {
            pushFollow(FOLLOW_rule__NumVariable__Group__3__Impl_in_rule__NumVariable__Group__311465);
            rule__NumVariable__Group__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NumVariable__Group__3"


    // $ANTLR start "rule__NumVariable__Group__3__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5685:1: rule__NumVariable__Group__3__Impl : ( ';' ) ;
    public final void rule__NumVariable__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5689:1: ( ( ';' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5690:1: ( ';' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5690:1: ( ';' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5691:1: ';'
            {
             before(grammarAccess.getNumVariableAccess().getSemicolonKeyword_3()); 
            match(input,28,FOLLOW_28_in_rule__NumVariable__Group__3__Impl11493); 
             after(grammarAccess.getNumVariableAccess().getSemicolonKeyword_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NumVariable__Group__3__Impl"


    // $ANTLR start "rule__NumVariable__Group_2__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5712:1: rule__NumVariable__Group_2__0 : rule__NumVariable__Group_2__0__Impl rule__NumVariable__Group_2__1 ;
    public final void rule__NumVariable__Group_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5716:1: ( rule__NumVariable__Group_2__0__Impl rule__NumVariable__Group_2__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5717:2: rule__NumVariable__Group_2__0__Impl rule__NumVariable__Group_2__1
            {
            pushFollow(FOLLOW_rule__NumVariable__Group_2__0__Impl_in_rule__NumVariable__Group_2__011532);
            rule__NumVariable__Group_2__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__NumVariable__Group_2__1_in_rule__NumVariable__Group_2__011535);
            rule__NumVariable__Group_2__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NumVariable__Group_2__0"


    // $ANTLR start "rule__NumVariable__Group_2__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5724:1: rule__NumVariable__Group_2__0__Impl : ( '=' ) ;
    public final void rule__NumVariable__Group_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5728:1: ( ( '=' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5729:1: ( '=' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5729:1: ( '=' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5730:1: '='
            {
             before(grammarAccess.getNumVariableAccess().getEqualsSignKeyword_2_0()); 
            match(input,48,FOLLOW_48_in_rule__NumVariable__Group_2__0__Impl11563); 
             after(grammarAccess.getNumVariableAccess().getEqualsSignKeyword_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NumVariable__Group_2__0__Impl"


    // $ANTLR start "rule__NumVariable__Group_2__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5743:1: rule__NumVariable__Group_2__1 : rule__NumVariable__Group_2__1__Impl ;
    public final void rule__NumVariable__Group_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5747:1: ( rule__NumVariable__Group_2__1__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5748:2: rule__NumVariable__Group_2__1__Impl
            {
            pushFollow(FOLLOW_rule__NumVariable__Group_2__1__Impl_in_rule__NumVariable__Group_2__111594);
            rule__NumVariable__Group_2__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NumVariable__Group_2__1"


    // $ANTLR start "rule__NumVariable__Group_2__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5754:1: rule__NumVariable__Group_2__1__Impl : ( ( rule__NumVariable__ValueAssignment_2_1 ) ) ;
    public final void rule__NumVariable__Group_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5758:1: ( ( ( rule__NumVariable__ValueAssignment_2_1 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5759:1: ( ( rule__NumVariable__ValueAssignment_2_1 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5759:1: ( ( rule__NumVariable__ValueAssignment_2_1 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5760:1: ( rule__NumVariable__ValueAssignment_2_1 )
            {
             before(grammarAccess.getNumVariableAccess().getValueAssignment_2_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5761:1: ( rule__NumVariable__ValueAssignment_2_1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5761:2: rule__NumVariable__ValueAssignment_2_1
            {
            pushFollow(FOLLOW_rule__NumVariable__ValueAssignment_2_1_in_rule__NumVariable__Group_2__1__Impl11621);
            rule__NumVariable__ValueAssignment_2_1();

            state._fsp--;


            }

             after(grammarAccess.getNumVariableAccess().getValueAssignment_2_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NumVariable__Group_2__1__Impl"


    // $ANTLR start "rule__BoolVariable__Group__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5775:1: rule__BoolVariable__Group__0 : rule__BoolVariable__Group__0__Impl rule__BoolVariable__Group__1 ;
    public final void rule__BoolVariable__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5779:1: ( rule__BoolVariable__Group__0__Impl rule__BoolVariable__Group__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5780:2: rule__BoolVariable__Group__0__Impl rule__BoolVariable__Group__1
            {
            pushFollow(FOLLOW_rule__BoolVariable__Group__0__Impl_in_rule__BoolVariable__Group__011655);
            rule__BoolVariable__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__BoolVariable__Group__1_in_rule__BoolVariable__Group__011658);
            rule__BoolVariable__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BoolVariable__Group__0"


    // $ANTLR start "rule__BoolVariable__Group__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5787:1: rule__BoolVariable__Group__0__Impl : ( 'boolean' ) ;
    public final void rule__BoolVariable__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5791:1: ( ( 'boolean' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5792:1: ( 'boolean' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5792:1: ( 'boolean' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5793:1: 'boolean'
            {
             before(grammarAccess.getBoolVariableAccess().getBooleanKeyword_0()); 
            match(input,50,FOLLOW_50_in_rule__BoolVariable__Group__0__Impl11686); 
             after(grammarAccess.getBoolVariableAccess().getBooleanKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BoolVariable__Group__0__Impl"


    // $ANTLR start "rule__BoolVariable__Group__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5806:1: rule__BoolVariable__Group__1 : rule__BoolVariable__Group__1__Impl rule__BoolVariable__Group__2 ;
    public final void rule__BoolVariable__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5810:1: ( rule__BoolVariable__Group__1__Impl rule__BoolVariable__Group__2 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5811:2: rule__BoolVariable__Group__1__Impl rule__BoolVariable__Group__2
            {
            pushFollow(FOLLOW_rule__BoolVariable__Group__1__Impl_in_rule__BoolVariable__Group__111717);
            rule__BoolVariable__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__BoolVariable__Group__2_in_rule__BoolVariable__Group__111720);
            rule__BoolVariable__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BoolVariable__Group__1"


    // $ANTLR start "rule__BoolVariable__Group__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5818:1: rule__BoolVariable__Group__1__Impl : ( ( rule__BoolVariable__NameAssignment_1 ) ) ;
    public final void rule__BoolVariable__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5822:1: ( ( ( rule__BoolVariable__NameAssignment_1 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5823:1: ( ( rule__BoolVariable__NameAssignment_1 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5823:1: ( ( rule__BoolVariable__NameAssignment_1 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5824:1: ( rule__BoolVariable__NameAssignment_1 )
            {
             before(grammarAccess.getBoolVariableAccess().getNameAssignment_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5825:1: ( rule__BoolVariable__NameAssignment_1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5825:2: rule__BoolVariable__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__BoolVariable__NameAssignment_1_in_rule__BoolVariable__Group__1__Impl11747);
            rule__BoolVariable__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getBoolVariableAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BoolVariable__Group__1__Impl"


    // $ANTLR start "rule__BoolVariable__Group__2"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5835:1: rule__BoolVariable__Group__2 : rule__BoolVariable__Group__2__Impl rule__BoolVariable__Group__3 ;
    public final void rule__BoolVariable__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5839:1: ( rule__BoolVariable__Group__2__Impl rule__BoolVariable__Group__3 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5840:2: rule__BoolVariable__Group__2__Impl rule__BoolVariable__Group__3
            {
            pushFollow(FOLLOW_rule__BoolVariable__Group__2__Impl_in_rule__BoolVariable__Group__211777);
            rule__BoolVariable__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__BoolVariable__Group__3_in_rule__BoolVariable__Group__211780);
            rule__BoolVariable__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BoolVariable__Group__2"


    // $ANTLR start "rule__BoolVariable__Group__2__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5847:1: rule__BoolVariable__Group__2__Impl : ( ( rule__BoolVariable__Group_2__0 )? ) ;
    public final void rule__BoolVariable__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5851:1: ( ( ( rule__BoolVariable__Group_2__0 )? ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5852:1: ( ( rule__BoolVariable__Group_2__0 )? )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5852:1: ( ( rule__BoolVariable__Group_2__0 )? )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5853:1: ( rule__BoolVariable__Group_2__0 )?
            {
             before(grammarAccess.getBoolVariableAccess().getGroup_2()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5854:1: ( rule__BoolVariable__Group_2__0 )?
            int alt31=2;
            int LA31_0 = input.LA(1);

            if ( (LA31_0==48) ) {
                alt31=1;
            }
            switch (alt31) {
                case 1 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5854:2: rule__BoolVariable__Group_2__0
                    {
                    pushFollow(FOLLOW_rule__BoolVariable__Group_2__0_in_rule__BoolVariable__Group__2__Impl11807);
                    rule__BoolVariable__Group_2__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getBoolVariableAccess().getGroup_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BoolVariable__Group__2__Impl"


    // $ANTLR start "rule__BoolVariable__Group__3"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5864:1: rule__BoolVariable__Group__3 : rule__BoolVariable__Group__3__Impl ;
    public final void rule__BoolVariable__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5868:1: ( rule__BoolVariable__Group__3__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5869:2: rule__BoolVariable__Group__3__Impl
            {
            pushFollow(FOLLOW_rule__BoolVariable__Group__3__Impl_in_rule__BoolVariable__Group__311838);
            rule__BoolVariable__Group__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BoolVariable__Group__3"


    // $ANTLR start "rule__BoolVariable__Group__3__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5875:1: rule__BoolVariable__Group__3__Impl : ( ';' ) ;
    public final void rule__BoolVariable__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5879:1: ( ( ';' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5880:1: ( ';' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5880:1: ( ';' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5881:1: ';'
            {
             before(grammarAccess.getBoolVariableAccess().getSemicolonKeyword_3()); 
            match(input,28,FOLLOW_28_in_rule__BoolVariable__Group__3__Impl11866); 
             after(grammarAccess.getBoolVariableAccess().getSemicolonKeyword_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BoolVariable__Group__3__Impl"


    // $ANTLR start "rule__BoolVariable__Group_2__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5902:1: rule__BoolVariable__Group_2__0 : rule__BoolVariable__Group_2__0__Impl rule__BoolVariable__Group_2__1 ;
    public final void rule__BoolVariable__Group_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5906:1: ( rule__BoolVariable__Group_2__0__Impl rule__BoolVariable__Group_2__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5907:2: rule__BoolVariable__Group_2__0__Impl rule__BoolVariable__Group_2__1
            {
            pushFollow(FOLLOW_rule__BoolVariable__Group_2__0__Impl_in_rule__BoolVariable__Group_2__011905);
            rule__BoolVariable__Group_2__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__BoolVariable__Group_2__1_in_rule__BoolVariable__Group_2__011908);
            rule__BoolVariable__Group_2__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BoolVariable__Group_2__0"


    // $ANTLR start "rule__BoolVariable__Group_2__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5914:1: rule__BoolVariable__Group_2__0__Impl : ( '=' ) ;
    public final void rule__BoolVariable__Group_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5918:1: ( ( '=' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5919:1: ( '=' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5919:1: ( '=' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5920:1: '='
            {
             before(grammarAccess.getBoolVariableAccess().getEqualsSignKeyword_2_0()); 
            match(input,48,FOLLOW_48_in_rule__BoolVariable__Group_2__0__Impl11936); 
             after(grammarAccess.getBoolVariableAccess().getEqualsSignKeyword_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BoolVariable__Group_2__0__Impl"


    // $ANTLR start "rule__BoolVariable__Group_2__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5933:1: rule__BoolVariable__Group_2__1 : rule__BoolVariable__Group_2__1__Impl ;
    public final void rule__BoolVariable__Group_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5937:1: ( rule__BoolVariable__Group_2__1__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5938:2: rule__BoolVariable__Group_2__1__Impl
            {
            pushFollow(FOLLOW_rule__BoolVariable__Group_2__1__Impl_in_rule__BoolVariable__Group_2__111967);
            rule__BoolVariable__Group_2__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BoolVariable__Group_2__1"


    // $ANTLR start "rule__BoolVariable__Group_2__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5944:1: rule__BoolVariable__Group_2__1__Impl : ( ( rule__BoolVariable__ValueAssignment_2_1 ) ) ;
    public final void rule__BoolVariable__Group_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5948:1: ( ( ( rule__BoolVariable__ValueAssignment_2_1 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5949:1: ( ( rule__BoolVariable__ValueAssignment_2_1 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5949:1: ( ( rule__BoolVariable__ValueAssignment_2_1 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5950:1: ( rule__BoolVariable__ValueAssignment_2_1 )
            {
             before(grammarAccess.getBoolVariableAccess().getValueAssignment_2_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5951:1: ( rule__BoolVariable__ValueAssignment_2_1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5951:2: rule__BoolVariable__ValueAssignment_2_1
            {
            pushFollow(FOLLOW_rule__BoolVariable__ValueAssignment_2_1_in_rule__BoolVariable__Group_2__1__Impl11994);
            rule__BoolVariable__ValueAssignment_2_1();

            state._fsp--;


            }

             after(grammarAccess.getBoolVariableAccess().getValueAssignment_2_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BoolVariable__Group_2__1__Impl"


    // $ANTLR start "rule__Assigment__Group__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5965:1: rule__Assigment__Group__0 : rule__Assigment__Group__0__Impl rule__Assigment__Group__1 ;
    public final void rule__Assigment__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5969:1: ( rule__Assigment__Group__0__Impl rule__Assigment__Group__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5970:2: rule__Assigment__Group__0__Impl rule__Assigment__Group__1
            {
            pushFollow(FOLLOW_rule__Assigment__Group__0__Impl_in_rule__Assigment__Group__012028);
            rule__Assigment__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Assigment__Group__1_in_rule__Assigment__Group__012031);
            rule__Assigment__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Assigment__Group__0"


    // $ANTLR start "rule__Assigment__Group__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5977:1: rule__Assigment__Group__0__Impl : ( ( rule__Assigment__VaAssignment_0 ) ) ;
    public final void rule__Assigment__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5981:1: ( ( ( rule__Assigment__VaAssignment_0 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5982:1: ( ( rule__Assigment__VaAssignment_0 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5982:1: ( ( rule__Assigment__VaAssignment_0 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5983:1: ( rule__Assigment__VaAssignment_0 )
            {
             before(grammarAccess.getAssigmentAccess().getVaAssignment_0()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5984:1: ( rule__Assigment__VaAssignment_0 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5984:2: rule__Assigment__VaAssignment_0
            {
            pushFollow(FOLLOW_rule__Assigment__VaAssignment_0_in_rule__Assigment__Group__0__Impl12058);
            rule__Assigment__VaAssignment_0();

            state._fsp--;


            }

             after(grammarAccess.getAssigmentAccess().getVaAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Assigment__Group__0__Impl"


    // $ANTLR start "rule__Assigment__Group__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5994:1: rule__Assigment__Group__1 : rule__Assigment__Group__1__Impl rule__Assigment__Group__2 ;
    public final void rule__Assigment__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5998:1: ( rule__Assigment__Group__1__Impl rule__Assigment__Group__2 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:5999:2: rule__Assigment__Group__1__Impl rule__Assigment__Group__2
            {
            pushFollow(FOLLOW_rule__Assigment__Group__1__Impl_in_rule__Assigment__Group__112088);
            rule__Assigment__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Assigment__Group__2_in_rule__Assigment__Group__112091);
            rule__Assigment__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Assigment__Group__1"


    // $ANTLR start "rule__Assigment__Group__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6006:1: rule__Assigment__Group__1__Impl : ( '=' ) ;
    public final void rule__Assigment__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6010:1: ( ( '=' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6011:1: ( '=' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6011:1: ( '=' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6012:1: '='
            {
             before(grammarAccess.getAssigmentAccess().getEqualsSignKeyword_1()); 
            match(input,48,FOLLOW_48_in_rule__Assigment__Group__1__Impl12119); 
             after(grammarAccess.getAssigmentAccess().getEqualsSignKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Assigment__Group__1__Impl"


    // $ANTLR start "rule__Assigment__Group__2"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6025:1: rule__Assigment__Group__2 : rule__Assigment__Group__2__Impl rule__Assigment__Group__3 ;
    public final void rule__Assigment__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6029:1: ( rule__Assigment__Group__2__Impl rule__Assigment__Group__3 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6030:2: rule__Assigment__Group__2__Impl rule__Assigment__Group__3
            {
            pushFollow(FOLLOW_rule__Assigment__Group__2__Impl_in_rule__Assigment__Group__212150);
            rule__Assigment__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Assigment__Group__3_in_rule__Assigment__Group__212153);
            rule__Assigment__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Assigment__Group__2"


    // $ANTLR start "rule__Assigment__Group__2__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6037:1: rule__Assigment__Group__2__Impl : ( ( rule__Assigment__RightAssignment_2 ) ) ;
    public final void rule__Assigment__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6041:1: ( ( ( rule__Assigment__RightAssignment_2 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6042:1: ( ( rule__Assigment__RightAssignment_2 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6042:1: ( ( rule__Assigment__RightAssignment_2 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6043:1: ( rule__Assigment__RightAssignment_2 )
            {
             before(grammarAccess.getAssigmentAccess().getRightAssignment_2()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6044:1: ( rule__Assigment__RightAssignment_2 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6044:2: rule__Assigment__RightAssignment_2
            {
            pushFollow(FOLLOW_rule__Assigment__RightAssignment_2_in_rule__Assigment__Group__2__Impl12180);
            rule__Assigment__RightAssignment_2();

            state._fsp--;


            }

             after(grammarAccess.getAssigmentAccess().getRightAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Assigment__Group__2__Impl"


    // $ANTLR start "rule__Assigment__Group__3"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6054:1: rule__Assigment__Group__3 : rule__Assigment__Group__3__Impl ;
    public final void rule__Assigment__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6058:1: ( rule__Assigment__Group__3__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6059:2: rule__Assigment__Group__3__Impl
            {
            pushFollow(FOLLOW_rule__Assigment__Group__3__Impl_in_rule__Assigment__Group__312210);
            rule__Assigment__Group__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Assigment__Group__3"


    // $ANTLR start "rule__Assigment__Group__3__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6065:1: rule__Assigment__Group__3__Impl : ( ';' ) ;
    public final void rule__Assigment__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6069:1: ( ( ';' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6070:1: ( ';' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6070:1: ( ';' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6071:1: ';'
            {
             before(grammarAccess.getAssigmentAccess().getSemicolonKeyword_3()); 
            match(input,28,FOLLOW_28_in_rule__Assigment__Group__3__Impl12238); 
             after(grammarAccess.getAssigmentAccess().getSemicolonKeyword_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Assigment__Group__3__Impl"


    // $ANTLR start "rule__BoolLiteral__Group__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6092:1: rule__BoolLiteral__Group__0 : rule__BoolLiteral__Group__0__Impl rule__BoolLiteral__Group__1 ;
    public final void rule__BoolLiteral__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6096:1: ( rule__BoolLiteral__Group__0__Impl rule__BoolLiteral__Group__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6097:2: rule__BoolLiteral__Group__0__Impl rule__BoolLiteral__Group__1
            {
            pushFollow(FOLLOW_rule__BoolLiteral__Group__0__Impl_in_rule__BoolLiteral__Group__012277);
            rule__BoolLiteral__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__BoolLiteral__Group__1_in_rule__BoolLiteral__Group__012280);
            rule__BoolLiteral__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BoolLiteral__Group__0"


    // $ANTLR start "rule__BoolLiteral__Group__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6104:1: rule__BoolLiteral__Group__0__Impl : ( () ) ;
    public final void rule__BoolLiteral__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6108:1: ( ( () ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6109:1: ( () )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6109:1: ( () )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6110:1: ()
            {
             before(grammarAccess.getBoolLiteralAccess().getBoolLiteralAction_0()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6111:1: ()
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6113:1: 
            {
            }

             after(grammarAccess.getBoolLiteralAccess().getBoolLiteralAction_0()); 

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BoolLiteral__Group__0__Impl"


    // $ANTLR start "rule__BoolLiteral__Group__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6123:1: rule__BoolLiteral__Group__1 : rule__BoolLiteral__Group__1__Impl ;
    public final void rule__BoolLiteral__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6127:1: ( rule__BoolLiteral__Group__1__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6128:2: rule__BoolLiteral__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__BoolLiteral__Group__1__Impl_in_rule__BoolLiteral__Group__112338);
            rule__BoolLiteral__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BoolLiteral__Group__1"


    // $ANTLR start "rule__BoolLiteral__Group__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6134:1: rule__BoolLiteral__Group__1__Impl : ( ( rule__BoolLiteral__ValueAssignment_1 ) ) ;
    public final void rule__BoolLiteral__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6138:1: ( ( ( rule__BoolLiteral__ValueAssignment_1 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6139:1: ( ( rule__BoolLiteral__ValueAssignment_1 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6139:1: ( ( rule__BoolLiteral__ValueAssignment_1 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6140:1: ( rule__BoolLiteral__ValueAssignment_1 )
            {
             before(grammarAccess.getBoolLiteralAccess().getValueAssignment_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6141:1: ( rule__BoolLiteral__ValueAssignment_1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6141:2: rule__BoolLiteral__ValueAssignment_1
            {
            pushFollow(FOLLOW_rule__BoolLiteral__ValueAssignment_1_in_rule__BoolLiteral__Group__1__Impl12365);
            rule__BoolLiteral__ValueAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getBoolLiteralAccess().getValueAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BoolLiteral__Group__1__Impl"


    // $ANTLR start "rule__NumLiteral__Group__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6155:1: rule__NumLiteral__Group__0 : rule__NumLiteral__Group__0__Impl rule__NumLiteral__Group__1 ;
    public final void rule__NumLiteral__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6159:1: ( rule__NumLiteral__Group__0__Impl rule__NumLiteral__Group__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6160:2: rule__NumLiteral__Group__0__Impl rule__NumLiteral__Group__1
            {
            pushFollow(FOLLOW_rule__NumLiteral__Group__0__Impl_in_rule__NumLiteral__Group__012399);
            rule__NumLiteral__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__NumLiteral__Group__1_in_rule__NumLiteral__Group__012402);
            rule__NumLiteral__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NumLiteral__Group__0"


    // $ANTLR start "rule__NumLiteral__Group__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6167:1: rule__NumLiteral__Group__0__Impl : ( () ) ;
    public final void rule__NumLiteral__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6171:1: ( ( () ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6172:1: ( () )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6172:1: ( () )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6173:1: ()
            {
             before(grammarAccess.getNumLiteralAccess().getNumLiteralAction_0()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6174:1: ()
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6176:1: 
            {
            }

             after(grammarAccess.getNumLiteralAccess().getNumLiteralAction_0()); 

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NumLiteral__Group__0__Impl"


    // $ANTLR start "rule__NumLiteral__Group__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6186:1: rule__NumLiteral__Group__1 : rule__NumLiteral__Group__1__Impl ;
    public final void rule__NumLiteral__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6190:1: ( rule__NumLiteral__Group__1__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6191:2: rule__NumLiteral__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__NumLiteral__Group__1__Impl_in_rule__NumLiteral__Group__112460);
            rule__NumLiteral__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NumLiteral__Group__1"


    // $ANTLR start "rule__NumLiteral__Group__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6197:1: rule__NumLiteral__Group__1__Impl : ( ( rule__NumLiteral__ValueAssignment_1 ) ) ;
    public final void rule__NumLiteral__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6201:1: ( ( ( rule__NumLiteral__ValueAssignment_1 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6202:1: ( ( rule__NumLiteral__ValueAssignment_1 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6202:1: ( ( rule__NumLiteral__ValueAssignment_1 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6203:1: ( rule__NumLiteral__ValueAssignment_1 )
            {
             before(grammarAccess.getNumLiteralAccess().getValueAssignment_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6204:1: ( rule__NumLiteral__ValueAssignment_1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6204:2: rule__NumLiteral__ValueAssignment_1
            {
            pushFollow(FOLLOW_rule__NumLiteral__ValueAssignment_1_in_rule__NumLiteral__Group__1__Impl12487);
            rule__NumLiteral__ValueAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getNumLiteralAccess().getValueAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NumLiteral__Group__1__Impl"


    // $ANTLR start "rule__StringLiteral__Group__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6218:1: rule__StringLiteral__Group__0 : rule__StringLiteral__Group__0__Impl rule__StringLiteral__Group__1 ;
    public final void rule__StringLiteral__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6222:1: ( rule__StringLiteral__Group__0__Impl rule__StringLiteral__Group__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6223:2: rule__StringLiteral__Group__0__Impl rule__StringLiteral__Group__1
            {
            pushFollow(FOLLOW_rule__StringLiteral__Group__0__Impl_in_rule__StringLiteral__Group__012521);
            rule__StringLiteral__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__StringLiteral__Group__1_in_rule__StringLiteral__Group__012524);
            rule__StringLiteral__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StringLiteral__Group__0"


    // $ANTLR start "rule__StringLiteral__Group__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6230:1: rule__StringLiteral__Group__0__Impl : ( () ) ;
    public final void rule__StringLiteral__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6234:1: ( ( () ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6235:1: ( () )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6235:1: ( () )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6236:1: ()
            {
             before(grammarAccess.getStringLiteralAccess().getStringLiteralAction_0()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6237:1: ()
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6239:1: 
            {
            }

             after(grammarAccess.getStringLiteralAccess().getStringLiteralAction_0()); 

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StringLiteral__Group__0__Impl"


    // $ANTLR start "rule__StringLiteral__Group__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6249:1: rule__StringLiteral__Group__1 : rule__StringLiteral__Group__1__Impl ;
    public final void rule__StringLiteral__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6253:1: ( rule__StringLiteral__Group__1__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6254:2: rule__StringLiteral__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__StringLiteral__Group__1__Impl_in_rule__StringLiteral__Group__112582);
            rule__StringLiteral__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StringLiteral__Group__1"


    // $ANTLR start "rule__StringLiteral__Group__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6260:1: rule__StringLiteral__Group__1__Impl : ( ( rule__StringLiteral__ValueAssignment_1 ) ) ;
    public final void rule__StringLiteral__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6264:1: ( ( ( rule__StringLiteral__ValueAssignment_1 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6265:1: ( ( rule__StringLiteral__ValueAssignment_1 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6265:1: ( ( rule__StringLiteral__ValueAssignment_1 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6266:1: ( rule__StringLiteral__ValueAssignment_1 )
            {
             before(grammarAccess.getStringLiteralAccess().getValueAssignment_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6267:1: ( rule__StringLiteral__ValueAssignment_1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6267:2: rule__StringLiteral__ValueAssignment_1
            {
            pushFollow(FOLLOW_rule__StringLiteral__ValueAssignment_1_in_rule__StringLiteral__Group__1__Impl12609);
            rule__StringLiteral__ValueAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getStringLiteralAccess().getValueAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StringLiteral__Group__1__Impl"


    // $ANTLR start "rule__Save__Group__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6281:1: rule__Save__Group__0 : rule__Save__Group__0__Impl rule__Save__Group__1 ;
    public final void rule__Save__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6285:1: ( rule__Save__Group__0__Impl rule__Save__Group__1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6286:2: rule__Save__Group__0__Impl rule__Save__Group__1
            {
            pushFollow(FOLLOW_rule__Save__Group__0__Impl_in_rule__Save__Group__012643);
            rule__Save__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Save__Group__1_in_rule__Save__Group__012646);
            rule__Save__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Save__Group__0"


    // $ANTLR start "rule__Save__Group__0__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6293:1: rule__Save__Group__0__Impl : ( 'save' ) ;
    public final void rule__Save__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6297:1: ( ( 'save' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6298:1: ( 'save' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6298:1: ( 'save' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6299:1: 'save'
            {
             before(grammarAccess.getSaveAccess().getSaveKeyword_0()); 
            match(input,51,FOLLOW_51_in_rule__Save__Group__0__Impl12674); 
             after(grammarAccess.getSaveAccess().getSaveKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Save__Group__0__Impl"


    // $ANTLR start "rule__Save__Group__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6312:1: rule__Save__Group__1 : rule__Save__Group__1__Impl rule__Save__Group__2 ;
    public final void rule__Save__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6316:1: ( rule__Save__Group__1__Impl rule__Save__Group__2 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6317:2: rule__Save__Group__1__Impl rule__Save__Group__2
            {
            pushFollow(FOLLOW_rule__Save__Group__1__Impl_in_rule__Save__Group__112705);
            rule__Save__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Save__Group__2_in_rule__Save__Group__112708);
            rule__Save__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Save__Group__1"


    // $ANTLR start "rule__Save__Group__1__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6324:1: rule__Save__Group__1__Impl : ( ( rule__Save__ThatAssignment_1 ) ) ;
    public final void rule__Save__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6328:1: ( ( ( rule__Save__ThatAssignment_1 ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6329:1: ( ( rule__Save__ThatAssignment_1 ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6329:1: ( ( rule__Save__ThatAssignment_1 ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6330:1: ( rule__Save__ThatAssignment_1 )
            {
             before(grammarAccess.getSaveAccess().getThatAssignment_1()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6331:1: ( rule__Save__ThatAssignment_1 )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6331:2: rule__Save__ThatAssignment_1
            {
            pushFollow(FOLLOW_rule__Save__ThatAssignment_1_in_rule__Save__Group__1__Impl12735);
            rule__Save__ThatAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getSaveAccess().getThatAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Save__Group__1__Impl"


    // $ANTLR start "rule__Save__Group__2"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6341:1: rule__Save__Group__2 : rule__Save__Group__2__Impl ;
    public final void rule__Save__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6345:1: ( rule__Save__Group__2__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6346:2: rule__Save__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__Save__Group__2__Impl_in_rule__Save__Group__212765);
            rule__Save__Group__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Save__Group__2"


    // $ANTLR start "rule__Save__Group__2__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6352:1: rule__Save__Group__2__Impl : ( ';' ) ;
    public final void rule__Save__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6356:1: ( ( ';' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6357:1: ( ';' )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6357:1: ( ';' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6358:1: ';'
            {
             before(grammarAccess.getSaveAccess().getSemicolonKeyword_2()); 
            match(input,28,FOLLOW_28_in_rule__Save__Group__2__Impl12793); 
             after(grammarAccess.getSaveAccess().getSemicolonKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Save__Group__2__Impl"


    // $ANTLR start "rule__State__UnorderedGroup"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6378:1: rule__State__UnorderedGroup : rule__State__UnorderedGroup__0 {...}?;
    public final void rule__State__UnorderedGroup() throws RecognitionException {

            	int stackSize = keepStackSize();
        		getUnorderedGroupHelper().enter(grammarAccess.getStateAccess().getUnorderedGroup());
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6383:1: ( rule__State__UnorderedGroup__0 {...}?)
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6384:2: rule__State__UnorderedGroup__0 {...}?
            {
            pushFollow(FOLLOW_rule__State__UnorderedGroup__0_in_rule__State__UnorderedGroup12831);
            rule__State__UnorderedGroup__0();

            state._fsp--;

            if ( ! getUnorderedGroupHelper().canLeave(grammarAccess.getStateAccess().getUnorderedGroup()) ) {
                throw new FailedPredicateException(input, "rule__State__UnorderedGroup", "getUnorderedGroupHelper().canLeave(grammarAccess.getStateAccess().getUnorderedGroup())");
            }

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	getUnorderedGroupHelper().leave(grammarAccess.getStateAccess().getUnorderedGroup());
            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__State__UnorderedGroup"


    // $ANTLR start "rule__State__UnorderedGroup__Impl"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6395:1: rule__State__UnorderedGroup__Impl : ( ({...}? => ( ( ( rule__State__Group_0__0 ) ) ) ) | ({...}? => ( ( ( rule__State__Group_1__0 ) ) ) ) ) ;
    public final void rule__State__UnorderedGroup__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
        		boolean selected = false;
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6400:1: ( ( ({...}? => ( ( ( rule__State__Group_0__0 ) ) ) ) | ({...}? => ( ( ( rule__State__Group_1__0 ) ) ) ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6401:3: ( ({...}? => ( ( ( rule__State__Group_0__0 ) ) ) ) | ({...}? => ( ( ( rule__State__Group_1__0 ) ) ) ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6401:3: ( ({...}? => ( ( ( rule__State__Group_0__0 ) ) ) ) | ({...}? => ( ( ( rule__State__Group_1__0 ) ) ) ) )
            int alt32=2;
            int LA32_0 = input.LA(1);

            if ( LA32_0 ==22 && getUnorderedGroupHelper().canSelect(grammarAccess.getStateAccess().getUnorderedGroup(), 0) ) {
                alt32=1;
            }
            else if ( (LA32_0==24||LA32_0==26) && getUnorderedGroupHelper().canSelect(grammarAccess.getStateAccess().getUnorderedGroup(), 1) ) {
                alt32=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 32, 0, input);

                throw nvae;
            }
            switch (alt32) {
                case 1 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6403:4: ({...}? => ( ( ( rule__State__Group_0__0 ) ) ) )
                    {
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6403:4: ({...}? => ( ( ( rule__State__Group_0__0 ) ) ) )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6404:5: {...}? => ( ( ( rule__State__Group_0__0 ) ) )
                    {
                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStateAccess().getUnorderedGroup(), 0) ) {
                        throw new FailedPredicateException(input, "rule__State__UnorderedGroup__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getStateAccess().getUnorderedGroup(), 0)");
                    }
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6404:100: ( ( ( rule__State__Group_0__0 ) ) )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6405:6: ( ( rule__State__Group_0__0 ) )
                    {
                     
                    	 				  getUnorderedGroupHelper().select(grammarAccess.getStateAccess().getUnorderedGroup(), 0);
                    	 				

                    	 				  selected = true;
                    	 				
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6411:6: ( ( rule__State__Group_0__0 ) )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6413:7: ( rule__State__Group_0__0 )
                    {
                     before(grammarAccess.getStateAccess().getGroup_0()); 
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6414:7: ( rule__State__Group_0__0 )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6414:8: rule__State__Group_0__0
                    {
                    pushFollow(FOLLOW_rule__State__Group_0__0_in_rule__State__UnorderedGroup__Impl12920);
                    rule__State__Group_0__0();

                    state._fsp--;


                    }

                     after(grammarAccess.getStateAccess().getGroup_0()); 

                    }


                    }


                    }


                    }
                    break;
                case 2 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6420:4: ({...}? => ( ( ( rule__State__Group_1__0 ) ) ) )
                    {
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6420:4: ({...}? => ( ( ( rule__State__Group_1__0 ) ) ) )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6421:5: {...}? => ( ( ( rule__State__Group_1__0 ) ) )
                    {
                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStateAccess().getUnorderedGroup(), 1) ) {
                        throw new FailedPredicateException(input, "rule__State__UnorderedGroup__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getStateAccess().getUnorderedGroup(), 1)");
                    }
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6421:100: ( ( ( rule__State__Group_1__0 ) ) )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6422:6: ( ( rule__State__Group_1__0 ) )
                    {
                     
                    	 				  getUnorderedGroupHelper().select(grammarAccess.getStateAccess().getUnorderedGroup(), 1);
                    	 				

                    	 				  selected = true;
                    	 				
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6428:6: ( ( rule__State__Group_1__0 ) )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6430:7: ( rule__State__Group_1__0 )
                    {
                     before(grammarAccess.getStateAccess().getGroup_1()); 
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6431:7: ( rule__State__Group_1__0 )
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6431:8: rule__State__Group_1__0
                    {
                    pushFollow(FOLLOW_rule__State__Group_1__0_in_rule__State__UnorderedGroup__Impl13011);
                    rule__State__Group_1__0();

                    state._fsp--;


                    }

                     after(grammarAccess.getStateAccess().getGroup_1()); 

                    }


                    }


                    }


                    }
                    break;

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	if (selected)
            		getUnorderedGroupHelper().returnFromSelection(grammarAccess.getStateAccess().getUnorderedGroup());
            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__State__UnorderedGroup__Impl"


    // $ANTLR start "rule__State__UnorderedGroup__0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6446:1: rule__State__UnorderedGroup__0 : rule__State__UnorderedGroup__Impl ( rule__State__UnorderedGroup__1 )? ;
    public final void rule__State__UnorderedGroup__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6450:1: ( rule__State__UnorderedGroup__Impl ( rule__State__UnorderedGroup__1 )? )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6451:2: rule__State__UnorderedGroup__Impl ( rule__State__UnorderedGroup__1 )?
            {
            pushFollow(FOLLOW_rule__State__UnorderedGroup__Impl_in_rule__State__UnorderedGroup__013070);
            rule__State__UnorderedGroup__Impl();

            state._fsp--;

            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6452:2: ( rule__State__UnorderedGroup__1 )?
            int alt33=2;
            switch ( input.LA(1) ) {
                case 22:
                    {
                    int LA33_1 = input.LA(2);

                    if ( getUnorderedGroupHelper().canSelect(grammarAccess.getStateAccess().getUnorderedGroup(), 0) ) {
                        alt33=1;
                    }
                    }
                    break;
                case 26:
                    {
                    int LA33_2 = input.LA(2);

                    if ( getUnorderedGroupHelper().canSelect(grammarAccess.getStateAccess().getUnorderedGroup(), 1) ) {
                        alt33=1;
                    }
                    }
                    break;
                case 24:
                    {
                    int LA33_3 = input.LA(2);

                    if ( getUnorderedGroupHelper().canSelect(grammarAccess.getStateAccess().getUnorderedGroup(), 1) ) {
                        alt33=1;
                    }
                    }
                    break;
            }

            switch (alt33) {
                case 1 :
                    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6452:2: rule__State__UnorderedGroup__1
                    {
                    pushFollow(FOLLOW_rule__State__UnorderedGroup__1_in_rule__State__UnorderedGroup__013073);
                    rule__State__UnorderedGroup__1();

                    state._fsp--;


                    }
                    break;

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__State__UnorderedGroup__0"


    // $ANTLR start "rule__State__UnorderedGroup__1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6459:1: rule__State__UnorderedGroup__1 : rule__State__UnorderedGroup__Impl ;
    public final void rule__State__UnorderedGroup__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6463:1: ( rule__State__UnorderedGroup__Impl )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6464:2: rule__State__UnorderedGroup__Impl
            {
            pushFollow(FOLLOW_rule__State__UnorderedGroup__Impl_in_rule__State__UnorderedGroup__113098);
            rule__State__UnorderedGroup__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__State__UnorderedGroup__1"


    // $ANTLR start "rule__Document__NameAssignment_1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6475:1: rule__Document__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__Document__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6479:1: ( ( RULE_ID ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6480:1: ( RULE_ID )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6480:1: ( RULE_ID )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6481:1: RULE_ID
            {
             before(grammarAccess.getDocumentAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Document__NameAssignment_113130); 
             after(grammarAccess.getDocumentAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Document__NameAssignment_1"


    // $ANTLR start "rule__Document__StatesAssignment_2"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6490:1: rule__Document__StatesAssignment_2 : ( ( 'withStates' ) ) ;
    public final void rule__Document__StatesAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6494:1: ( ( ( 'withStates' ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6495:1: ( ( 'withStates' ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6495:1: ( ( 'withStates' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6496:1: ( 'withStates' )
            {
             before(grammarAccess.getDocumentAccess().getStatesWithStatesKeyword_2_0()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6497:1: ( 'withStates' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6498:1: 'withStates'
            {
             before(grammarAccess.getDocumentAccess().getStatesWithStatesKeyword_2_0()); 
            match(input,52,FOLLOW_52_in_rule__Document__StatesAssignment_213166); 
             after(grammarAccess.getDocumentAccess().getStatesWithStatesKeyword_2_0()); 

            }

             after(grammarAccess.getDocumentAccess().getStatesWithStatesKeyword_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Document__StatesAssignment_2"


    // $ANTLR start "rule__Document__ElementsAssignment_3"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6513:1: rule__Document__ElementsAssignment_3 : ( ruleAbstractElement ) ;
    public final void rule__Document__ElementsAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6517:1: ( ( ruleAbstractElement ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6518:1: ( ruleAbstractElement )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6518:1: ( ruleAbstractElement )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6519:1: ruleAbstractElement
            {
             before(grammarAccess.getDocumentAccess().getElementsAbstractElementParserRuleCall_3_0()); 
            pushFollow(FOLLOW_ruleAbstractElement_in_rule__Document__ElementsAssignment_313205);
            ruleAbstractElement();

            state._fsp--;

             after(grammarAccess.getDocumentAccess().getElementsAbstractElementParserRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Document__ElementsAssignment_3"


    // $ANTLR start "rule__Document__StaAssignment_4"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6528:1: rule__Document__StaAssignment_4 : ( ruleState ) ;
    public final void rule__Document__StaAssignment_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6532:1: ( ( ruleState ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6533:1: ( ruleState )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6533:1: ( ruleState )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6534:1: ruleState
            {
             before(grammarAccess.getDocumentAccess().getStaStateParserRuleCall_4_0()); 
            pushFollow(FOLLOW_ruleState_in_rule__Document__StaAssignment_413236);
            ruleState();

            state._fsp--;

             after(grammarAccess.getDocumentAccess().getStaStateParserRuleCall_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Document__StaAssignment_4"


    // $ANTLR start "rule__State__NameAssignment_0_1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6543:1: rule__State__NameAssignment_0_1 : ( RULE_ID ) ;
    public final void rule__State__NameAssignment_0_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6547:1: ( ( RULE_ID ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6548:1: ( RULE_ID )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6548:1: ( RULE_ID )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6549:1: RULE_ID
            {
             before(grammarAccess.getStateAccess().getNameIDTerminalRuleCall_0_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__State__NameAssignment_0_113267); 
             after(grammarAccess.getStateAccess().getNameIDTerminalRuleCall_0_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__State__NameAssignment_0_1"


    // $ANTLR start "rule__State__TimesAssignment_0_2_1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6558:1: rule__State__TimesAssignment_0_2_1 : ( RULE_INT ) ;
    public final void rule__State__TimesAssignment_0_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6562:1: ( ( RULE_INT ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6563:1: ( RULE_INT )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6563:1: ( RULE_INT )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6564:1: RULE_INT
            {
             before(grammarAccess.getStateAccess().getTimesINTTerminalRuleCall_0_2_1_0()); 
            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__State__TimesAssignment_0_2_113298); 
             after(grammarAccess.getStateAccess().getTimesINTTerminalRuleCall_0_2_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__State__TimesAssignment_0_2_1"


    // $ANTLR start "rule__State__TimeoutAssignment_1_0_1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6573:1: rule__State__TimeoutAssignment_1_0_1 : ( RULE_INT ) ;
    public final void rule__State__TimeoutAssignment_1_0_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6577:1: ( ( RULE_INT ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6578:1: ( RULE_INT )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6578:1: ( RULE_INT )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6579:1: RULE_INT
            {
             before(grammarAccess.getStateAccess().getTimeoutINTTerminalRuleCall_1_0_1_0()); 
            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__State__TimeoutAssignment_1_0_113329); 
             after(grammarAccess.getStateAccess().getTimeoutINTTerminalRuleCall_1_0_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__State__TimeoutAssignment_1_0_1"


    // $ANTLR start "rule__State__StmsAssignment_1_2"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6588:1: rule__State__StmsAssignment_1_2 : ( ruleStateAbstractElement ) ;
    public final void rule__State__StmsAssignment_1_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6592:1: ( ( ruleStateAbstractElement ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6593:1: ( ruleStateAbstractElement )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6593:1: ( ruleStateAbstractElement )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6594:1: ruleStateAbstractElement
            {
             before(grammarAccess.getStateAccess().getStmsStateAbstractElementParserRuleCall_1_2_0()); 
            pushFollow(FOLLOW_ruleStateAbstractElement_in_rule__State__StmsAssignment_1_213360);
            ruleStateAbstractElement();

            state._fsp--;

             after(grammarAccess.getStateAccess().getStmsStateAbstractElementParserRuleCall_1_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__State__StmsAssignment_1_2"


    // $ANTLR start "rule__Dial__ToAssignment_1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6603:1: rule__Dial__ToAssignment_1 : ( ruleConcatenationExpression ) ;
    public final void rule__Dial__ToAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6607:1: ( ( ruleConcatenationExpression ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6608:1: ( ruleConcatenationExpression )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6608:1: ( ruleConcatenationExpression )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6609:1: ruleConcatenationExpression
            {
             before(grammarAccess.getDialAccess().getToConcatenationExpressionParserRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleConcatenationExpression_in_rule__Dial__ToAssignment_113391);
            ruleConcatenationExpression();

            state._fsp--;

             after(grammarAccess.getDialAccess().getToConcatenationExpressionParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Dial__ToAssignment_1"


    // $ANTLR start "rule__Play__FileAssignment_1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6618:1: rule__Play__FileAssignment_1 : ( ruleConcatenationExpression ) ;
    public final void rule__Play__FileAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6622:1: ( ( ruleConcatenationExpression ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6623:1: ( ruleConcatenationExpression )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6623:1: ( ruleConcatenationExpression )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6624:1: ruleConcatenationExpression
            {
             before(grammarAccess.getPlayAccess().getFileConcatenationExpressionParserRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleConcatenationExpression_in_rule__Play__FileAssignment_113422);
            ruleConcatenationExpression();

            state._fsp--;

             after(grammarAccess.getPlayAccess().getFileConcatenationExpressionParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Play__FileAssignment_1"


    // $ANTLR start "rule__Record__ActionAssignment_1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6633:1: rule__Record__ActionAssignment_1 : ( ruleConcatenationExpression ) ;
    public final void rule__Record__ActionAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6637:1: ( ( ruleConcatenationExpression ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6638:1: ( ruleConcatenationExpression )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6638:1: ( ruleConcatenationExpression )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6639:1: ruleConcatenationExpression
            {
             before(grammarAccess.getRecordAccess().getActionConcatenationExpressionParserRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleConcatenationExpression_in_rule__Record__ActionAssignment_113453);
            ruleConcatenationExpression();

            state._fsp--;

             after(grammarAccess.getRecordAccess().getActionConcatenationExpressionParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Record__ActionAssignment_1"


    // $ANTLR start "rule__Record__TimeAssignment_2_1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6648:1: rule__Record__TimeAssignment_2_1 : ( RULE_INT ) ;
    public final void rule__Record__TimeAssignment_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6652:1: ( ( RULE_INT ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6653:1: ( RULE_INT )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6653:1: ( RULE_INT )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6654:1: RULE_INT
            {
             before(grammarAccess.getRecordAccess().getTimeINTTerminalRuleCall_2_1_0()); 
            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Record__TimeAssignment_2_113484); 
             after(grammarAccess.getRecordAccess().getTimeINTTerminalRuleCall_2_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Record__TimeAssignment_2_1"


    // $ANTLR start "rule__Record__NameAssignment_3_1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6663:1: rule__Record__NameAssignment_3_1 : ( RULE_ID ) ;
    public final void rule__Record__NameAssignment_3_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6667:1: ( ( RULE_ID ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6668:1: ( RULE_ID )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6668:1: ( RULE_ID )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6669:1: RULE_ID
            {
             before(grammarAccess.getRecordAccess().getNameIDTerminalRuleCall_3_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Record__NameAssignment_3_113515); 
             after(grammarAccess.getRecordAccess().getNameIDTerminalRuleCall_3_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Record__NameAssignment_3_1"


    // $ANTLR start "rule__Reject__NameAssignment_0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6678:1: rule__Reject__NameAssignment_0 : ( ( 'reject' ) ) ;
    public final void rule__Reject__NameAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6682:1: ( ( ( 'reject' ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6683:1: ( ( 'reject' ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6683:1: ( ( 'reject' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6684:1: ( 'reject' )
            {
             before(grammarAccess.getRejectAccess().getNameRejectKeyword_0_0()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6685:1: ( 'reject' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6686:1: 'reject'
            {
             before(grammarAccess.getRejectAccess().getNameRejectKeyword_0_0()); 
            match(input,53,FOLLOW_53_in_rule__Reject__NameAssignment_013551); 
             after(grammarAccess.getRejectAccess().getNameRejectKeyword_0_0()); 

            }

             after(grammarAccess.getRejectAccess().getNameRejectKeyword_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Reject__NameAssignment_0"


    // $ANTLR start "rule__Hangup__NameAssignment_0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6701:1: rule__Hangup__NameAssignment_0 : ( ( 'hangup' ) ) ;
    public final void rule__Hangup__NameAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6705:1: ( ( ( 'hangup' ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6706:1: ( ( 'hangup' ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6706:1: ( ( 'hangup' ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6707:1: ( 'hangup' )
            {
             before(grammarAccess.getHangupAccess().getNameHangupKeyword_0_0()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6708:1: ( 'hangup' )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6709:1: 'hangup'
            {
             before(grammarAccess.getHangupAccess().getNameHangupKeyword_0_0()); 
            match(input,54,FOLLOW_54_in_rule__Hangup__NameAssignment_013595); 
             after(grammarAccess.getHangupAccess().getNameHangupKeyword_0_0()); 

            }

             after(grammarAccess.getHangupAccess().getNameHangupKeyword_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Hangup__NameAssignment_0"


    // $ANTLR start "rule__GetDigits__NameAssignment_1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6724:1: rule__GetDigits__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__GetDigits__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6728:1: ( ( RULE_ID ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6729:1: ( RULE_ID )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6729:1: ( RULE_ID )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6730:1: RULE_ID
            {
             before(grammarAccess.getGetDigitsAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__GetDigits__NameAssignment_113634); 
             after(grammarAccess.getGetDigitsAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GetDigits__NameAssignment_1"


    // $ANTLR start "rule__GetDigits__QuestionAssignment_3"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6739:1: rule__GetDigits__QuestionAssignment_3 : ( ruleConcatenationExpression ) ;
    public final void rule__GetDigits__QuestionAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6743:1: ( ( ruleConcatenationExpression ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6744:1: ( ruleConcatenationExpression )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6744:1: ( ruleConcatenationExpression )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6745:1: ruleConcatenationExpression
            {
             before(grammarAccess.getGetDigitsAccess().getQuestionConcatenationExpressionParserRuleCall_3_0()); 
            pushFollow(FOLLOW_ruleConcatenationExpression_in_rule__GetDigits__QuestionAssignment_313665);
            ruleConcatenationExpression();

            state._fsp--;

             after(grammarAccess.getGetDigitsAccess().getQuestionConcatenationExpressionParserRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GetDigits__QuestionAssignment_3"


    // $ANTLR start "rule__GetDigits__NumDigitsAssignment_5"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6754:1: rule__GetDigits__NumDigitsAssignment_5 : ( RULE_INT ) ;
    public final void rule__GetDigits__NumDigitsAssignment_5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6758:1: ( ( RULE_INT ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6759:1: ( RULE_INT )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6759:1: ( RULE_INT )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6760:1: RULE_INT
            {
             before(grammarAccess.getGetDigitsAccess().getNumDigitsINTTerminalRuleCall_5_0()); 
            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__GetDigits__NumDigitsAssignment_513696); 
             after(grammarAccess.getGetDigitsAccess().getNumDigitsINTTerminalRuleCall_5_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GetDigits__NumDigitsAssignment_5"


    // $ANTLR start "rule__Ask__NameAssignment_1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6769:1: rule__Ask__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__Ask__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6773:1: ( ( RULE_ID ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6774:1: ( RULE_ID )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6774:1: ( RULE_ID )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6775:1: RULE_ID
            {
             before(grammarAccess.getAskAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Ask__NameAssignment_113727); 
             after(grammarAccess.getAskAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Ask__NameAssignment_1"


    // $ANTLR start "rule__Ask__QuestionAssignment_3"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6784:1: rule__Ask__QuestionAssignment_3 : ( ruleConcatenationExpression ) ;
    public final void rule__Ask__QuestionAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6788:1: ( ( ruleConcatenationExpression ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6789:1: ( ruleConcatenationExpression )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6789:1: ( ruleConcatenationExpression )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6790:1: ruleConcatenationExpression
            {
             before(grammarAccess.getAskAccess().getQuestionConcatenationExpressionParserRuleCall_3_0()); 
            pushFollow(FOLLOW_ruleConcatenationExpression_in_rule__Ask__QuestionAssignment_313758);
            ruleConcatenationExpression();

            state._fsp--;

             after(grammarAccess.getAskAccess().getQuestionConcatenationExpressionParserRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Ask__QuestionAssignment_3"


    // $ANTLR start "rule__Ask__ChoicesAssignment_4_1_1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6799:1: rule__Ask__ChoicesAssignment_4_1_1 : ( RULE_STRING ) ;
    public final void rule__Ask__ChoicesAssignment_4_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6803:1: ( ( RULE_STRING ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6804:1: ( RULE_STRING )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6804:1: ( RULE_STRING )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6805:1: RULE_STRING
            {
             before(grammarAccess.getAskAccess().getChoicesSTRINGTerminalRuleCall_4_1_1_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Ask__ChoicesAssignment_4_1_113789); 
             after(grammarAccess.getAskAccess().getChoicesSTRINGTerminalRuleCall_4_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Ask__ChoicesAssignment_4_1_1"


    // $ANTLR start "rule__Send__NameAssignment_1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6814:1: rule__Send__NameAssignment_1 : ( RULE_STRING ) ;
    public final void rule__Send__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6818:1: ( ( RULE_STRING ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6819:1: ( RULE_STRING )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6819:1: ( RULE_STRING )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6820:1: RULE_STRING
            {
             before(grammarAccess.getSendAccess().getNameSTRINGTerminalRuleCall_1_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Send__NameAssignment_113820); 
             after(grammarAccess.getSendAccess().getNameSTRINGTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Send__NameAssignment_1"


    // $ANTLR start "rule__Send__ThatAssignment_2"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6829:1: rule__Send__ThatAssignment_2 : ( ruleConcatenationExpression ) ;
    public final void rule__Send__ThatAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6833:1: ( ( ruleConcatenationExpression ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6834:1: ( ruleConcatenationExpression )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6834:1: ( ruleConcatenationExpression )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6835:1: ruleConcatenationExpression
            {
             before(grammarAccess.getSendAccess().getThatConcatenationExpressionParserRuleCall_2_0()); 
            pushFollow(FOLLOW_ruleConcatenationExpression_in_rule__Send__ThatAssignment_213851);
            ruleConcatenationExpression();

            state._fsp--;

             after(grammarAccess.getSendAccess().getThatConcatenationExpressionParserRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Send__ThatAssignment_2"


    // $ANTLR start "rule__Send__UriAssignment_4"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6844:1: rule__Send__UriAssignment_4 : ( ruleConcatenationExpression ) ;
    public final void rule__Send__UriAssignment_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6848:1: ( ( ruleConcatenationExpression ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6849:1: ( ruleConcatenationExpression )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6849:1: ( ruleConcatenationExpression )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6850:1: ruleConcatenationExpression
            {
             before(grammarAccess.getSendAccess().getUriConcatenationExpressionParserRuleCall_4_0()); 
            pushFollow(FOLLOW_ruleConcatenationExpression_in_rule__Send__UriAssignment_413882);
            ruleConcatenationExpression();

            state._fsp--;

             after(grammarAccess.getSendAccess().getUriConcatenationExpressionParserRuleCall_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Send__UriAssignment_4"


    // $ANTLR start "rule__Say__ThatAssignment_1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6859:1: rule__Say__ThatAssignment_1 : ( ruleConcatenationExpression ) ;
    public final void rule__Say__ThatAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6863:1: ( ( ruleConcatenationExpression ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6864:1: ( ruleConcatenationExpression )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6864:1: ( ruleConcatenationExpression )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6865:1: ruleConcatenationExpression
            {
             before(grammarAccess.getSayAccess().getThatConcatenationExpressionParserRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleConcatenationExpression_in_rule__Say__ThatAssignment_113913);
            ruleConcatenationExpression();

            state._fsp--;

             after(grammarAccess.getSayAccess().getThatConcatenationExpressionParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Say__ThatAssignment_1"


    // $ANTLR start "rule__Transition__TargetAssignment_1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6874:1: rule__Transition__TargetAssignment_1 : ( ( RULE_ID ) ) ;
    public final void rule__Transition__TargetAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6878:1: ( ( ( RULE_ID ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6879:1: ( ( RULE_ID ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6879:1: ( ( RULE_ID ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6880:1: ( RULE_ID )
            {
             before(grammarAccess.getTransitionAccess().getTargetStateCrossReference_1_0()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6881:1: ( RULE_ID )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6882:1: RULE_ID
            {
             before(grammarAccess.getTransitionAccess().getTargetStateIDTerminalRuleCall_1_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Transition__TargetAssignment_113948); 
             after(grammarAccess.getTransitionAccess().getTargetStateIDTerminalRuleCall_1_0_1()); 

            }

             after(grammarAccess.getTransitionAccess().getTargetStateCrossReference_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Transition__TargetAssignment_1"


    // $ANTLR start "rule__Transition__EventAssignment_3"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6893:1: rule__Transition__EventAssignment_3 : ( RULE_EVENTENUM ) ;
    public final void rule__Transition__EventAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6897:1: ( ( RULE_EVENTENUM ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6898:1: ( RULE_EVENTENUM )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6898:1: ( RULE_EVENTENUM )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6899:1: RULE_EVENTENUM
            {
             before(grammarAccess.getTransitionAccess().getEventEventEnumTerminalRuleCall_3_0()); 
            match(input,RULE_EVENTENUM,FOLLOW_RULE_EVENTENUM_in_rule__Transition__EventAssignment_313983); 
             after(grammarAccess.getTransitionAccess().getEventEventEnumTerminalRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Transition__EventAssignment_3"


    // $ANTLR start "rule__IfExp__BlockAssignment_0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6908:1: rule__IfExp__BlockAssignment_0 : ( ruleCondBlock ) ;
    public final void rule__IfExp__BlockAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6912:1: ( ( ruleCondBlock ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6913:1: ( ruleCondBlock )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6913:1: ( ruleCondBlock )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6914:1: ruleCondBlock
            {
             before(grammarAccess.getIfExpAccess().getBlockCondBlockParserRuleCall_0_0()); 
            pushFollow(FOLLOW_ruleCondBlock_in_rule__IfExp__BlockAssignment_014014);
            ruleCondBlock();

            state._fsp--;

             after(grammarAccess.getIfExpAccess().getBlockCondBlockParserRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfExp__BlockAssignment_0"


    // $ANTLR start "rule__IfExp__BlocksAssignment_1_1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6923:1: rule__IfExp__BlocksAssignment_1_1 : ( ruleCondBlock ) ;
    public final void rule__IfExp__BlocksAssignment_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6927:1: ( ( ruleCondBlock ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6928:1: ( ruleCondBlock )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6928:1: ( ruleCondBlock )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6929:1: ruleCondBlock
            {
             before(grammarAccess.getIfExpAccess().getBlocksCondBlockParserRuleCall_1_1_0()); 
            pushFollow(FOLLOW_ruleCondBlock_in_rule__IfExp__BlocksAssignment_1_114045);
            ruleCondBlock();

            state._fsp--;

             after(grammarAccess.getIfExpAccess().getBlocksCondBlockParserRuleCall_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfExp__BlocksAssignment_1_1"


    // $ANTLR start "rule__IfExp__DefaultBlockAssignment_2_1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6938:1: rule__IfExp__DefaultBlockAssignment_2_1 : ( ruleBlock ) ;
    public final void rule__IfExp__DefaultBlockAssignment_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6942:1: ( ( ruleBlock ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6943:1: ( ruleBlock )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6943:1: ( ruleBlock )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6944:1: ruleBlock
            {
             before(grammarAccess.getIfExpAccess().getDefaultBlockBlockParserRuleCall_2_1_0()); 
            pushFollow(FOLLOW_ruleBlock_in_rule__IfExp__DefaultBlockAssignment_2_114076);
            ruleBlock();

            state._fsp--;

             after(grammarAccess.getIfExpAccess().getDefaultBlockBlockParserRuleCall_2_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfExp__DefaultBlockAssignment_2_1"


    // $ANTLR start "rule__Block__StmsAssignment_1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6953:1: rule__Block__StmsAssignment_1 : ( ruleAbstractElement ) ;
    public final void rule__Block__StmsAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6957:1: ( ( ruleAbstractElement ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6958:1: ( ruleAbstractElement )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6958:1: ( ruleAbstractElement )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6959:1: ruleAbstractElement
            {
             before(grammarAccess.getBlockAccess().getStmsAbstractElementParserRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleAbstractElement_in_rule__Block__StmsAssignment_114107);
            ruleAbstractElement();

            state._fsp--;

             after(grammarAccess.getBlockAccess().getStmsAbstractElementParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Block__StmsAssignment_1"


    // $ANTLR start "rule__CondBlock__CondAssignment_1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6968:1: rule__CondBlock__CondAssignment_1 : ( ruleTerminalBoolExpression ) ;
    public final void rule__CondBlock__CondAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6972:1: ( ( ruleTerminalBoolExpression ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6973:1: ( ruleTerminalBoolExpression )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6973:1: ( ruleTerminalBoolExpression )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6974:1: ruleTerminalBoolExpression
            {
             before(grammarAccess.getCondBlockAccess().getCondTerminalBoolExpressionParserRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleTerminalBoolExpression_in_rule__CondBlock__CondAssignment_114138);
            ruleTerminalBoolExpression();

            state._fsp--;

             after(grammarAccess.getCondBlockAccess().getCondTerminalBoolExpressionParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__CondBlock__CondAssignment_1"


    // $ANTLR start "rule__CondBlock__ActionAssignment_2"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6983:1: rule__CondBlock__ActionAssignment_2 : ( ruleBlock ) ;
    public final void rule__CondBlock__ActionAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6987:1: ( ( ruleBlock ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6988:1: ( ruleBlock )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6988:1: ( ruleBlock )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6989:1: ruleBlock
            {
             before(grammarAccess.getCondBlockAccess().getActionBlockParserRuleCall_2_0()); 
            pushFollow(FOLLOW_ruleBlock_in_rule__CondBlock__ActionAssignment_214169);
            ruleBlock();

            state._fsp--;

             after(grammarAccess.getCondBlockAccess().getActionBlockParserRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__CondBlock__ActionAssignment_2"


    // $ANTLR start "rule__IfStateExp__BlockAssignment_0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:6998:1: rule__IfStateExp__BlockAssignment_0 : ( ruleCondStateBlock ) ;
    public final void rule__IfStateExp__BlockAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7002:1: ( ( ruleCondStateBlock ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7003:1: ( ruleCondStateBlock )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7003:1: ( ruleCondStateBlock )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7004:1: ruleCondStateBlock
            {
             before(grammarAccess.getIfStateExpAccess().getBlockCondStateBlockParserRuleCall_0_0()); 
            pushFollow(FOLLOW_ruleCondStateBlock_in_rule__IfStateExp__BlockAssignment_014200);
            ruleCondStateBlock();

            state._fsp--;

             after(grammarAccess.getIfStateExpAccess().getBlockCondStateBlockParserRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfStateExp__BlockAssignment_0"


    // $ANTLR start "rule__IfStateExp__BlocksAssignment_1_1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7013:1: rule__IfStateExp__BlocksAssignment_1_1 : ( ruleCondStateBlock ) ;
    public final void rule__IfStateExp__BlocksAssignment_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7017:1: ( ( ruleCondStateBlock ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7018:1: ( ruleCondStateBlock )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7018:1: ( ruleCondStateBlock )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7019:1: ruleCondStateBlock
            {
             before(grammarAccess.getIfStateExpAccess().getBlocksCondStateBlockParserRuleCall_1_1_0()); 
            pushFollow(FOLLOW_ruleCondStateBlock_in_rule__IfStateExp__BlocksAssignment_1_114231);
            ruleCondStateBlock();

            state._fsp--;

             after(grammarAccess.getIfStateExpAccess().getBlocksCondStateBlockParserRuleCall_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfStateExp__BlocksAssignment_1_1"


    // $ANTLR start "rule__IfStateExp__DefaultBlockAssignment_2_1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7028:1: rule__IfStateExp__DefaultBlockAssignment_2_1 : ( ruleBlockState ) ;
    public final void rule__IfStateExp__DefaultBlockAssignment_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7032:1: ( ( ruleBlockState ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7033:1: ( ruleBlockState )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7033:1: ( ruleBlockState )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7034:1: ruleBlockState
            {
             before(grammarAccess.getIfStateExpAccess().getDefaultBlockBlockStateParserRuleCall_2_1_0()); 
            pushFollow(FOLLOW_ruleBlockState_in_rule__IfStateExp__DefaultBlockAssignment_2_114262);
            ruleBlockState();

            state._fsp--;

             after(grammarAccess.getIfStateExpAccess().getDefaultBlockBlockStateParserRuleCall_2_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__IfStateExp__DefaultBlockAssignment_2_1"


    // $ANTLR start "rule__CondStateBlock__CondAssignment_1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7043:1: rule__CondStateBlock__CondAssignment_1 : ( ruleTerminalBoolExpression ) ;
    public final void rule__CondStateBlock__CondAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7047:1: ( ( ruleTerminalBoolExpression ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7048:1: ( ruleTerminalBoolExpression )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7048:1: ( ruleTerminalBoolExpression )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7049:1: ruleTerminalBoolExpression
            {
             before(grammarAccess.getCondStateBlockAccess().getCondTerminalBoolExpressionParserRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleTerminalBoolExpression_in_rule__CondStateBlock__CondAssignment_114293);
            ruleTerminalBoolExpression();

            state._fsp--;

             after(grammarAccess.getCondStateBlockAccess().getCondTerminalBoolExpressionParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__CondStateBlock__CondAssignment_1"


    // $ANTLR start "rule__CondStateBlock__ActionAssignment_2"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7058:1: rule__CondStateBlock__ActionAssignment_2 : ( ruleBlockState ) ;
    public final void rule__CondStateBlock__ActionAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7062:1: ( ( ruleBlockState ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7063:1: ( ruleBlockState )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7063:1: ( ruleBlockState )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7064:1: ruleBlockState
            {
             before(grammarAccess.getCondStateBlockAccess().getActionBlockStateParserRuleCall_2_0()); 
            pushFollow(FOLLOW_ruleBlockState_in_rule__CondStateBlock__ActionAssignment_214324);
            ruleBlockState();

            state._fsp--;

             after(grammarAccess.getCondStateBlockAccess().getActionBlockStateParserRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__CondStateBlock__ActionAssignment_2"


    // $ANTLR start "rule__BlockState__StaAssignment_1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7073:1: rule__BlockState__StaAssignment_1 : ( ruleStateAbstractElement ) ;
    public final void rule__BlockState__StaAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7077:1: ( ( ruleStateAbstractElement ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7078:1: ( ruleStateAbstractElement )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7078:1: ( ruleStateAbstractElement )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7079:1: ruleStateAbstractElement
            {
             before(grammarAccess.getBlockStateAccess().getStaStateAbstractElementParserRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleStateAbstractElement_in_rule__BlockState__StaAssignment_114355);
            ruleStateAbstractElement();

            state._fsp--;

             after(grammarAccess.getBlockStateAccess().getStaStateAbstractElementParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BlockState__StaAssignment_1"


    // $ANTLR start "rule__BoolExpression__OpAssignment_1_1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7088:1: rule__BoolExpression__OpAssignment_1_1 : ( RULE_LOGIC_WORD ) ;
    public final void rule__BoolExpression__OpAssignment_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7092:1: ( ( RULE_LOGIC_WORD ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7093:1: ( RULE_LOGIC_WORD )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7093:1: ( RULE_LOGIC_WORD )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7094:1: RULE_LOGIC_WORD
            {
             before(grammarAccess.getBoolExpressionAccess().getOpLOGIC_WORDTerminalRuleCall_1_1_0()); 
            match(input,RULE_LOGIC_WORD,FOLLOW_RULE_LOGIC_WORD_in_rule__BoolExpression__OpAssignment_1_114386); 
             after(grammarAccess.getBoolExpressionAccess().getOpLOGIC_WORDTerminalRuleCall_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BoolExpression__OpAssignment_1_1"


    // $ANTLR start "rule__BoolExpression__RightAssignment_1_2"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7103:1: rule__BoolExpression__RightAssignment_1_2 : ( ruleBoolExpression ) ;
    public final void rule__BoolExpression__RightAssignment_1_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7107:1: ( ( ruleBoolExpression ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7108:1: ( ruleBoolExpression )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7108:1: ( ruleBoolExpression )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7109:1: ruleBoolExpression
            {
             before(grammarAccess.getBoolExpressionAccess().getRightBoolExpressionParserRuleCall_1_2_0()); 
            pushFollow(FOLLOW_ruleBoolExpression_in_rule__BoolExpression__RightAssignment_1_214417);
            ruleBoolExpression();

            state._fsp--;

             after(grammarAccess.getBoolExpressionAccess().getRightBoolExpressionParserRuleCall_1_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BoolExpression__RightAssignment_1_2"


    // $ANTLR start "rule__CompareExpression__LeftAssignment_0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7118:1: rule__CompareExpression__LeftAssignment_0 : ( ruleLiteralAbs ) ;
    public final void rule__CompareExpression__LeftAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7122:1: ( ( ruleLiteralAbs ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7123:1: ( ruleLiteralAbs )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7123:1: ( ruleLiteralAbs )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7124:1: ruleLiteralAbs
            {
             before(grammarAccess.getCompareExpressionAccess().getLeftLiteralAbsParserRuleCall_0_0()); 
            pushFollow(FOLLOW_ruleLiteralAbs_in_rule__CompareExpression__LeftAssignment_014448);
            ruleLiteralAbs();

            state._fsp--;

             after(grammarAccess.getCompareExpressionAccess().getLeftLiteralAbsParserRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__CompareExpression__LeftAssignment_0"


    // $ANTLR start "rule__CompareExpression__OpAssignment_1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7133:1: rule__CompareExpression__OpAssignment_1 : ( RULE_COMPARE ) ;
    public final void rule__CompareExpression__OpAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7137:1: ( ( RULE_COMPARE ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7138:1: ( RULE_COMPARE )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7138:1: ( RULE_COMPARE )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7139:1: RULE_COMPARE
            {
             before(grammarAccess.getCompareExpressionAccess().getOpCOMPARETerminalRuleCall_1_0()); 
            match(input,RULE_COMPARE,FOLLOW_RULE_COMPARE_in_rule__CompareExpression__OpAssignment_114479); 
             after(grammarAccess.getCompareExpressionAccess().getOpCOMPARETerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__CompareExpression__OpAssignment_1"


    // $ANTLR start "rule__CompareExpression__RightAssignment_2"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7148:1: rule__CompareExpression__RightAssignment_2 : ( ruleLiteralAbs ) ;
    public final void rule__CompareExpression__RightAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7152:1: ( ( ruleLiteralAbs ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7153:1: ( ruleLiteralAbs )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7153:1: ( ruleLiteralAbs )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7154:1: ruleLiteralAbs
            {
             before(grammarAccess.getCompareExpressionAccess().getRightLiteralAbsParserRuleCall_2_0()); 
            pushFollow(FOLLOW_ruleLiteralAbs_in_rule__CompareExpression__RightAssignment_214510);
            ruleLiteralAbs();

            state._fsp--;

             after(grammarAccess.getCompareExpressionAccess().getRightLiteralAbsParserRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__CompareExpression__RightAssignment_2"


    // $ANTLR start "rule__NegExpression__OpAssignment_0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7163:1: rule__NegExpression__OpAssignment_0 : ( RULE_NEGATION ) ;
    public final void rule__NegExpression__OpAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7167:1: ( ( RULE_NEGATION ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7168:1: ( RULE_NEGATION )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7168:1: ( RULE_NEGATION )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7169:1: RULE_NEGATION
            {
             before(grammarAccess.getNegExpressionAccess().getOpNEGATIONTerminalRuleCall_0_0()); 
            match(input,RULE_NEGATION,FOLLOW_RULE_NEGATION_in_rule__NegExpression__OpAssignment_014541); 
             after(grammarAccess.getNegExpressionAccess().getOpNEGATIONTerminalRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NegExpression__OpAssignment_0"


    // $ANTLR start "rule__NegExpression__ObjAssignment_1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7178:1: rule__NegExpression__ObjAssignment_1 : ( ruleTerminalBoolExpression ) ;
    public final void rule__NegExpression__ObjAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7182:1: ( ( ruleTerminalBoolExpression ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7183:1: ( ruleTerminalBoolExpression )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7183:1: ( ruleTerminalBoolExpression )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7184:1: ruleTerminalBoolExpression
            {
             before(grammarAccess.getNegExpressionAccess().getObjTerminalBoolExpressionParserRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleTerminalBoolExpression_in_rule__NegExpression__ObjAssignment_114572);
            ruleTerminalBoolExpression();

            state._fsp--;

             after(grammarAccess.getNegExpressionAccess().getObjTerminalBoolExpressionParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NegExpression__ObjAssignment_1"


    // $ANTLR start "rule__MathExpression__OpAssignment_1_1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7193:1: rule__MathExpression__OpAssignment_1_1 : ( RULE_MATH ) ;
    public final void rule__MathExpression__OpAssignment_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7197:1: ( ( RULE_MATH ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7198:1: ( RULE_MATH )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7198:1: ( RULE_MATH )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7199:1: RULE_MATH
            {
             before(grammarAccess.getMathExpressionAccess().getOpMATHTerminalRuleCall_1_1_0()); 
            match(input,RULE_MATH,FOLLOW_RULE_MATH_in_rule__MathExpression__OpAssignment_1_114603); 
             after(grammarAccess.getMathExpressionAccess().getOpMATHTerminalRuleCall_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MathExpression__OpAssignment_1_1"


    // $ANTLR start "rule__MathExpression__RightAssignment_1_2"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7208:1: rule__MathExpression__RightAssignment_1_2 : ( ruleMathExpression ) ;
    public final void rule__MathExpression__RightAssignment_1_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7212:1: ( ( ruleMathExpression ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7213:1: ( ruleMathExpression )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7213:1: ( ruleMathExpression )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7214:1: ruleMathExpression
            {
             before(grammarAccess.getMathExpressionAccess().getRightMathExpressionParserRuleCall_1_2_0()); 
            pushFollow(FOLLOW_ruleMathExpression_in_rule__MathExpression__RightAssignment_1_214634);
            ruleMathExpression();

            state._fsp--;

             after(grammarAccess.getMathExpressionAccess().getRightMathExpressionParserRuleCall_1_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MathExpression__RightAssignment_1_2"


    // $ANTLR start "rule__ConcatenationExpression__OpAssignment_1_1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7223:1: rule__ConcatenationExpression__OpAssignment_1_1 : ( RULE_CONCATENATION ) ;
    public final void rule__ConcatenationExpression__OpAssignment_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7227:1: ( ( RULE_CONCATENATION ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7228:1: ( RULE_CONCATENATION )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7228:1: ( RULE_CONCATENATION )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7229:1: RULE_CONCATENATION
            {
             before(grammarAccess.getConcatenationExpressionAccess().getOpCONCATENATIONTerminalRuleCall_1_1_0()); 
            match(input,RULE_CONCATENATION,FOLLOW_RULE_CONCATENATION_in_rule__ConcatenationExpression__OpAssignment_1_114665); 
             after(grammarAccess.getConcatenationExpressionAccess().getOpCONCATENATIONTerminalRuleCall_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConcatenationExpression__OpAssignment_1_1"


    // $ANTLR start "rule__ConcatenationExpression__RightAssignment_1_2"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7238:1: rule__ConcatenationExpression__RightAssignment_1_2 : ( ruleConcatenationExpression ) ;
    public final void rule__ConcatenationExpression__RightAssignment_1_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7242:1: ( ( ruleConcatenationExpression ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7243:1: ( ruleConcatenationExpression )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7243:1: ( ruleConcatenationExpression )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7244:1: ruleConcatenationExpression
            {
             before(grammarAccess.getConcatenationExpressionAccess().getRightConcatenationExpressionParserRuleCall_1_2_0()); 
            pushFollow(FOLLOW_ruleConcatenationExpression_in_rule__ConcatenationExpression__RightAssignment_1_214696);
            ruleConcatenationExpression();

            state._fsp--;

             after(grammarAccess.getConcatenationExpressionAccess().getRightConcatenationExpressionParserRuleCall_1_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConcatenationExpression__RightAssignment_1_2"


    // $ANTLR start "rule__StringVariable__NameAssignment_1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7253:1: rule__StringVariable__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__StringVariable__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7257:1: ( ( RULE_ID ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7258:1: ( RULE_ID )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7258:1: ( RULE_ID )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7259:1: RULE_ID
            {
             before(grammarAccess.getStringVariableAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__StringVariable__NameAssignment_114727); 
             after(grammarAccess.getStringVariableAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StringVariable__NameAssignment_1"


    // $ANTLR start "rule__StringVariable__ValueAssignment_2_1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7268:1: rule__StringVariable__ValueAssignment_2_1 : ( ruleConcatenationExpression ) ;
    public final void rule__StringVariable__ValueAssignment_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7272:1: ( ( ruleConcatenationExpression ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7273:1: ( ruleConcatenationExpression )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7273:1: ( ruleConcatenationExpression )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7274:1: ruleConcatenationExpression
            {
             before(grammarAccess.getStringVariableAccess().getValueConcatenationExpressionParserRuleCall_2_1_0()); 
            pushFollow(FOLLOW_ruleConcatenationExpression_in_rule__StringVariable__ValueAssignment_2_114758);
            ruleConcatenationExpression();

            state._fsp--;

             after(grammarAccess.getStringVariableAccess().getValueConcatenationExpressionParserRuleCall_2_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StringVariable__ValueAssignment_2_1"


    // $ANTLR start "rule__NumVariable__NameAssignment_1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7283:1: rule__NumVariable__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__NumVariable__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7287:1: ( ( RULE_ID ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7288:1: ( RULE_ID )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7288:1: ( RULE_ID )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7289:1: RULE_ID
            {
             before(grammarAccess.getNumVariableAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__NumVariable__NameAssignment_114789); 
             after(grammarAccess.getNumVariableAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NumVariable__NameAssignment_1"


    // $ANTLR start "rule__NumVariable__ValueAssignment_2_1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7298:1: rule__NumVariable__ValueAssignment_2_1 : ( ruleMathExpression ) ;
    public final void rule__NumVariable__ValueAssignment_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7302:1: ( ( ruleMathExpression ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7303:1: ( ruleMathExpression )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7303:1: ( ruleMathExpression )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7304:1: ruleMathExpression
            {
             before(grammarAccess.getNumVariableAccess().getValueMathExpressionParserRuleCall_2_1_0()); 
            pushFollow(FOLLOW_ruleMathExpression_in_rule__NumVariable__ValueAssignment_2_114820);
            ruleMathExpression();

            state._fsp--;

             after(grammarAccess.getNumVariableAccess().getValueMathExpressionParserRuleCall_2_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NumVariable__ValueAssignment_2_1"


    // $ANTLR start "rule__BoolVariable__NameAssignment_1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7313:1: rule__BoolVariable__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__BoolVariable__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7317:1: ( ( RULE_ID ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7318:1: ( RULE_ID )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7318:1: ( RULE_ID )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7319:1: RULE_ID
            {
             before(grammarAccess.getBoolVariableAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__BoolVariable__NameAssignment_114851); 
             after(grammarAccess.getBoolVariableAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BoolVariable__NameAssignment_1"


    // $ANTLR start "rule__BoolVariable__ValueAssignment_2_1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7328:1: rule__BoolVariable__ValueAssignment_2_1 : ( ruleBoolExpression ) ;
    public final void rule__BoolVariable__ValueAssignment_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7332:1: ( ( ruleBoolExpression ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7333:1: ( ruleBoolExpression )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7333:1: ( ruleBoolExpression )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7334:1: ruleBoolExpression
            {
             before(grammarAccess.getBoolVariableAccess().getValueBoolExpressionParserRuleCall_2_1_0()); 
            pushFollow(FOLLOW_ruleBoolExpression_in_rule__BoolVariable__ValueAssignment_2_114882);
            ruleBoolExpression();

            state._fsp--;

             after(grammarAccess.getBoolVariableAccess().getValueBoolExpressionParserRuleCall_2_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BoolVariable__ValueAssignment_2_1"


    // $ANTLR start "rule__Assigment__VaAssignment_0"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7343:1: rule__Assigment__VaAssignment_0 : ( ( RULE_ID ) ) ;
    public final void rule__Assigment__VaAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7347:1: ( ( ( RULE_ID ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7348:1: ( ( RULE_ID ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7348:1: ( ( RULE_ID ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7349:1: ( RULE_ID )
            {
             before(grammarAccess.getAssigmentAccess().getVaVarsCrossReference_0_0()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7350:1: ( RULE_ID )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7351:1: RULE_ID
            {
             before(grammarAccess.getAssigmentAccess().getVaVarsIDTerminalRuleCall_0_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Assigment__VaAssignment_014917); 
             after(grammarAccess.getAssigmentAccess().getVaVarsIDTerminalRuleCall_0_0_1()); 

            }

             after(grammarAccess.getAssigmentAccess().getVaVarsCrossReference_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Assigment__VaAssignment_0"


    // $ANTLR start "rule__Assigment__RightAssignment_2"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7362:1: rule__Assigment__RightAssignment_2 : ( ruleMathExpression ) ;
    public final void rule__Assigment__RightAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7366:1: ( ( ruleMathExpression ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7367:1: ( ruleMathExpression )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7367:1: ( ruleMathExpression )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7368:1: ruleMathExpression
            {
             before(grammarAccess.getAssigmentAccess().getRightMathExpressionParserRuleCall_2_0()); 
            pushFollow(FOLLOW_ruleMathExpression_in_rule__Assigment__RightAssignment_214952);
            ruleMathExpression();

            state._fsp--;

             after(grammarAccess.getAssigmentAccess().getRightMathExpressionParserRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Assigment__RightAssignment_2"


    // $ANTLR start "rule__Literal__VAssignment_1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7377:1: rule__Literal__VAssignment_1 : ( ( RULE_ID ) ) ;
    public final void rule__Literal__VAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7381:1: ( ( ( RULE_ID ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7382:1: ( ( RULE_ID ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7382:1: ( ( RULE_ID ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7383:1: ( RULE_ID )
            {
             before(grammarAccess.getLiteralAccess().getVVarsCrossReference_1_0()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7384:1: ( RULE_ID )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7385:1: RULE_ID
            {
             before(grammarAccess.getLiteralAccess().getVVarsIDTerminalRuleCall_1_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Literal__VAssignment_114987); 
             after(grammarAccess.getLiteralAccess().getVVarsIDTerminalRuleCall_1_0_1()); 

            }

             after(grammarAccess.getLiteralAccess().getVVarsCrossReference_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Literal__VAssignment_1"


    // $ANTLR start "rule__Literal__NulAssignment_2"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7396:1: rule__Literal__NulAssignment_2 : ( RULE_NULL ) ;
    public final void rule__Literal__NulAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7400:1: ( ( RULE_NULL ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7401:1: ( RULE_NULL )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7401:1: ( RULE_NULL )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7402:1: RULE_NULL
            {
             before(grammarAccess.getLiteralAccess().getNulNULLTerminalRuleCall_2_0()); 
            match(input,RULE_NULL,FOLLOW_RULE_NULL_in_rule__Literal__NulAssignment_215022); 
             after(grammarAccess.getLiteralAccess().getNulNULLTerminalRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Literal__NulAssignment_2"


    // $ANTLR start "rule__Literal__SesAssignment_3"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7411:1: rule__Literal__SesAssignment_3 : ( RULE_SESSION ) ;
    public final void rule__Literal__SesAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7415:1: ( ( RULE_SESSION ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7416:1: ( RULE_SESSION )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7416:1: ( RULE_SESSION )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7417:1: RULE_SESSION
            {
             before(grammarAccess.getLiteralAccess().getSesSESSIONTerminalRuleCall_3_0()); 
            match(input,RULE_SESSION,FOLLOW_RULE_SESSION_in_rule__Literal__SesAssignment_315053); 
             after(grammarAccess.getLiteralAccess().getSesSESSIONTerminalRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Literal__SesAssignment_3"


    // $ANTLR start "rule__BoolLiteral__ValueAssignment_1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7426:1: rule__BoolLiteral__ValueAssignment_1 : ( RULE_BOOL ) ;
    public final void rule__BoolLiteral__ValueAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7430:1: ( ( RULE_BOOL ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7431:1: ( RULE_BOOL )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7431:1: ( RULE_BOOL )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7432:1: RULE_BOOL
            {
             before(grammarAccess.getBoolLiteralAccess().getValueBOOLTerminalRuleCall_1_0()); 
            match(input,RULE_BOOL,FOLLOW_RULE_BOOL_in_rule__BoolLiteral__ValueAssignment_115084); 
             after(grammarAccess.getBoolLiteralAccess().getValueBOOLTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BoolLiteral__ValueAssignment_1"


    // $ANTLR start "rule__NumLiteral__ValueAssignment_1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7441:1: rule__NumLiteral__ValueAssignment_1 : ( ruleNumber ) ;
    public final void rule__NumLiteral__ValueAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7445:1: ( ( ruleNumber ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7446:1: ( ruleNumber )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7446:1: ( ruleNumber )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7447:1: ruleNumber
            {
             before(grammarAccess.getNumLiteralAccess().getValueNumberParserRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleNumber_in_rule__NumLiteral__ValueAssignment_115115);
            ruleNumber();

            state._fsp--;

             after(grammarAccess.getNumLiteralAccess().getValueNumberParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NumLiteral__ValueAssignment_1"


    // $ANTLR start "rule__StringLiteral__ValueAssignment_1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7456:1: rule__StringLiteral__ValueAssignment_1 : ( RULE_STRING ) ;
    public final void rule__StringLiteral__ValueAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7460:1: ( ( RULE_STRING ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7461:1: ( RULE_STRING )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7461:1: ( RULE_STRING )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7462:1: RULE_STRING
            {
             before(grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__StringLiteral__ValueAssignment_115146); 
             after(grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__StringLiteral__ValueAssignment_1"


    // $ANTLR start "rule__Save__ThatAssignment_1"
    // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7471:1: rule__Save__ThatAssignment_1 : ( ( RULE_ID ) ) ;
    public final void rule__Save__ThatAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7475:1: ( ( ( RULE_ID ) ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7476:1: ( ( RULE_ID ) )
            {
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7476:1: ( ( RULE_ID ) )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7477:1: ( RULE_ID )
            {
             before(grammarAccess.getSaveAccess().getThatVarsCrossReference_1_0()); 
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7478:1: ( RULE_ID )
            // ../org.xtext.telcodev.dsl.ui/src-gen/org/xtext/telcodev/dsl/ui/contentassist/antlr/internal/InternalVoiS.g:7479:1: RULE_ID
            {
             before(grammarAccess.getSaveAccess().getThatVarsIDTerminalRuleCall_1_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Save__ThatAssignment_115181); 
             after(grammarAccess.getSaveAccess().getThatVarsIDTerminalRuleCall_1_0_1()); 

            }

             after(grammarAccess.getSaveAccess().getThatVarsCrossReference_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Save__ThatAssignment_1"

    // Delegated rules


    protected DFA5 dfa5 = new DFA5(this);
    static final String DFA5_eotS =
        "\14\uffff";
    static final String DFA5_eofS =
        "\2\uffff\1\12\5\13\4\uffff";
    static final String DFA5_minS =
        "\1\5\1\uffff\6\12\4\uffff";
    static final String DFA5_maxS =
        "\1\45\1\uffff\6\46\4\uffff";
    static final String DFA5_acceptS =
        "\1\uffff\1\1\6\uffff\1\3\1\4\1\2\1\5";
    static final String DFA5_specialS =
        "\14\uffff}>";
    static final String[] DFA5_transitionS = {
            "\1\3\1\4\1\5\1\10\3\uffff\1\11\2\uffff\1\6\1\7\1\2\23\uffff"+
            "\1\1",
            "",
            "\1\12\1\10\14\uffff\1\12\3\uffff\1\12\11\uffff\1\12",
            "\1\13\1\10\14\uffff\1\13\3\uffff\1\13\11\uffff\1\13",
            "\1\13\1\10\14\uffff\1\13\3\uffff\1\13\11\uffff\1\13",
            "\1\13\1\10\14\uffff\1\13\3\uffff\1\13\11\uffff\1\13",
            "\1\13\1\10\14\uffff\1\13\3\uffff\1\13\11\uffff\1\13",
            "\1\13\1\10\14\uffff\1\13\3\uffff\1\13\11\uffff\1\13",
            "",
            "",
            "",
            ""
    };

    static final short[] DFA5_eot = DFA.unpackEncodedString(DFA5_eotS);
    static final short[] DFA5_eof = DFA.unpackEncodedString(DFA5_eofS);
    static final char[] DFA5_min = DFA.unpackEncodedStringToUnsignedChars(DFA5_minS);
    static final char[] DFA5_max = DFA.unpackEncodedStringToUnsignedChars(DFA5_maxS);
    static final short[] DFA5_accept = DFA.unpackEncodedString(DFA5_acceptS);
    static final short[] DFA5_special = DFA.unpackEncodedString(DFA5_specialS);
    static final short[][] DFA5_transition;

    static {
        int numStates = DFA5_transitionS.length;
        DFA5_transition = new short[numStates][];
        for (int i=0; i<numStates; i++) {
            DFA5_transition[i] = DFA.unpackEncodedString(DFA5_transitionS[i]);
        }
    }

    class DFA5 extends DFA {

        public DFA5(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 5;
            this.eot = DFA5_eot;
            this.eof = DFA5_eof;
            this.min = DFA5_min;
            this.max = DFA5_max;
            this.accept = DFA5_accept;
            this.special = DFA5_special;
            this.transition = DFA5_transition;
        }
        public String getDescription() {
            return "1376:1: rule__TerminalBoolExpression__Alternatives : ( ( ( rule__TerminalBoolExpression__Group_0__0 ) ) | ( ruleBoolLiteral ) | ( ruleCompareExpression ) | ( ruleNegExpression ) | ( ruleLiteral ) );";
        }
    }
 

    public static final BitSet FOLLOW_ruleDocument_in_entryRuleDocument61 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleDocument68 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Document__Group__0_in_ruleDocument94 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAbstractElement_in_entryRuleAbstractElement121 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleAbstractElement128 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AbstractElement__Alternatives_in_ruleAbstractElement154 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStatement_in_entryRuleStatement181 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleStatement188 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Statement__Alternatives_in_ruleStatement214 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStateAbstractElement_in_entryRuleStateAbstractElement241 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleStateAbstractElement248 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StateAbstractElement__Alternatives_in_ruleStateAbstractElement274 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleState_in_entryRuleState301 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleState308 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__State__UnorderedGroup_in_ruleState334 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleVoiceTag_in_entryRuleVoiceTag361 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleVoiceTag368 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__VoiceTag__Alternatives_in_ruleVoiceTag394 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDial_in_entryRuleDial421 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleDial428 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Dial__Group__0_in_ruleDial454 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePlay_in_entryRulePlay481 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRulePlay488 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Play__Group__0_in_rulePlay514 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRecord_in_entryRuleRecord541 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleRecord548 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Record__Group__0_in_ruleRecord574 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleReject_in_entryRuleReject601 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleReject608 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Reject__Group__0_in_ruleReject634 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleHangup_in_entryRuleHangup661 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleHangup668 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Hangup__Group__0_in_ruleHangup694 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleGetDigits_in_entryRuleGetDigits721 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleGetDigits728 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GetDigits__Group__0_in_ruleGetDigits754 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAsk_in_entryRuleAsk781 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleAsk788 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Ask__Group__0_in_ruleAsk814 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSend_in_entryRuleSend841 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleSend848 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Send__Group__0_in_ruleSend874 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSay_in_entryRuleSay901 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleSay908 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Say__Group__0_in_ruleSay934 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTransition_in_entryRuleTransition961 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleTransition968 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Transition__Group__0_in_ruleTransition994 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleIfExp_in_entryRuleIfExp1021 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleIfExp1028 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfExp__Group__0_in_ruleIfExp1054 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBlock_in_entryRuleBlock1081 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleBlock1088 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Block__Group__0_in_ruleBlock1114 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCondBlock_in_entryRuleCondBlock1141 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleCondBlock1148 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__CondBlock__Group__0_in_ruleCondBlock1174 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleIfStateExp_in_entryRuleIfStateExp1201 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleIfStateExp1208 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfStateExp__Group__0_in_ruleIfStateExp1234 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCondStateBlock_in_entryRuleCondStateBlock1261 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleCondStateBlock1268 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__CondStateBlock__Group__0_in_ruleCondStateBlock1294 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBlockState_in_entryRuleBlockState1321 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleBlockState1328 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BlockState__Group__0_in_ruleBlockState1354 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBoolExpression_in_entryRuleBoolExpression1381 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleBoolExpression1388 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BoolExpression__Group__0_in_ruleBoolExpression1414 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTerminalBoolExpression_in_entryRuleTerminalBoolExpression1441 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleTerminalBoolExpression1448 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TerminalBoolExpression__Alternatives_in_ruleTerminalBoolExpression1474 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCompareExpression_in_entryRuleCompareExpression1501 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleCompareExpression1508 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__CompareExpression__Group__0_in_ruleCompareExpression1534 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNegExpression_in_entryRuleNegExpression1561 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleNegExpression1568 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NegExpression__Group__0_in_ruleNegExpression1594 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleMathExpression_in_entryRuleMathExpression1621 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleMathExpression1628 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MathExpression__Group__0_in_ruleMathExpression1654 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleMathTerminal_in_entryRuleMathTerminal1681 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleMathTerminal1688 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MathTerminal__Alternatives_in_ruleMathTerminal1714 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleConcatenationExpression_in_entryRuleConcatenationExpression1741 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleConcatenationExpression1748 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ConcatenationExpression__Group__0_in_ruleConcatenationExpression1774 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleConcatenationTerminal_in_entryRuleConcatenationTerminal1801 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleConcatenationTerminal1808 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ConcatenationTerminal__Alternatives_in_ruleConcatenationTerminal1834 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStringVariable_in_entryRuleStringVariable1861 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleStringVariable1868 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StringVariable__Group__0_in_ruleStringVariable1894 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNumVariable_in_entryRuleNumVariable1921 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleNumVariable1928 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NumVariable__Group__0_in_ruleNumVariable1954 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBoolVariable_in_entryRuleBoolVariable1981 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleBoolVariable1988 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BoolVariable__Group__0_in_ruleBoolVariable2014 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAssigment_in_entryRuleAssigment2041 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleAssigment2048 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Assigment__Group__0_in_ruleAssigment2074 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLiteralAbs_in_entryRuleLiteralAbs2103 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleLiteralAbs2110 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__LiteralAbs__Alternatives_in_ruleLiteralAbs2136 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLiteral_in_entryRuleLiteral2163 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleLiteral2170 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Literal__Alternatives_in_ruleLiteral2196 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBoolLiteral_in_entryRuleBoolLiteral2223 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleBoolLiteral2230 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BoolLiteral__Group__0_in_ruleBoolLiteral2256 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNumLiteral_in_entryRuleNumLiteral2283 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleNumLiteral2290 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NumLiteral__Group__0_in_ruleNumLiteral2316 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStringLiteral_in_entryRuleStringLiteral2343 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleStringLiteral2350 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StringLiteral__Group__0_in_ruleStringLiteral2376 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSave_in_entryRuleSave2403 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleSave2410 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Save__Group__0_in_ruleSave2436 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNumber_in_entryRuleNumber2463 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleNumber2470 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Number__Alternatives_in_ruleNumber2496 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStatement_in_rule__AbstractElement__Alternatives2532 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleIfExp_in_rule__AbstractElement__Alternatives2549 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNumVariable_in_rule__Statement__Alternatives2581 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStringVariable_in_rule__Statement__Alternatives2598 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBoolVariable_in_rule__Statement__Alternatives2615 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleVoiceTag_in_rule__Statement__Alternatives2632 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAssigment_in_rule__Statement__Alternatives2649 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ML_COMMENT_in_rule__Statement__Alternatives2666 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStatement_in_rule__StateAbstractElement__Alternatives2698 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSave_in_rule__StateAbstractElement__Alternatives2715 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTransition_in_rule__StateAbstractElement__Alternatives2732 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleIfStateExp_in_rule__StateAbstractElement__Alternatives2749 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSay_in_rule__VoiceTag__Alternatives2781 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDial_in_rule__VoiceTag__Alternatives2798 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePlay_in_rule__VoiceTag__Alternatives2815 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRecord_in_rule__VoiceTag__Alternatives2832 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleGetDigits_in_rule__VoiceTag__Alternatives2849 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAsk_in_rule__VoiceTag__Alternatives2866 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSend_in_rule__VoiceTag__Alternatives2883 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleReject_in_rule__VoiceTag__Alternatives2900 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleHangup_in_rule__VoiceTag__Alternatives2917 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TerminalBoolExpression__Group_0__0_in_rule__TerminalBoolExpression__Alternatives2949 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBoolLiteral_in_rule__TerminalBoolExpression__Alternatives2967 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCompareExpression_in_rule__TerminalBoolExpression__Alternatives2984 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNegExpression_in_rule__TerminalBoolExpression__Alternatives3001 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLiteral_in_rule__TerminalBoolExpression__Alternatives3018 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MathTerminal__Group_0__0_in_rule__MathTerminal__Alternatives3050 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLiteral_in_rule__MathTerminal__Alternatives3068 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ConcatenationTerminal__Group_0__0_in_rule__ConcatenationTerminal__Alternatives3100 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLiteralAbs_in_rule__ConcatenationTerminal__Alternatives3118 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLiteral_in_rule__LiteralAbs__Alternatives3151 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStringLiteral_in_rule__LiteralAbs__Alternatives3168 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBoolLiteral_in_rule__LiteralAbs__Alternatives3185 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNumLiteral_in_rule__Literal__Alternatives3217 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Literal__VAssignment_1_in_rule__Literal__Alternatives3234 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Literal__NulAssignment_2_in_rule__Literal__Alternatives3252 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Literal__SesAssignment_3_in_rule__Literal__Alternatives3270 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_DOUBLE_in_rule__Number__Alternatives3303 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_INT_in_rule__Number__Alternatives3320 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Document__Group__0__Impl_in_rule__Document__Group__03350 = new BitSet(new long[]{0x0000000000000080L});
    public static final BitSet FOLLOW_rule__Document__Group__1_in_rule__Document__Group__03353 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_21_in_rule__Document__Group__0__Impl3381 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Document__Group__1__Impl_in_rule__Document__Group__13412 = new BitSet(new long[]{0x0076C5126D400090L});
    public static final BitSet FOLLOW_rule__Document__Group__2_in_rule__Document__Group__13415 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Document__NameAssignment_1_in_rule__Document__Group__1__Impl3442 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Document__Group__2__Impl_in_rule__Document__Group__23472 = new BitSet(new long[]{0x0076C5126D400090L});
    public static final BitSet FOLLOW_rule__Document__Group__3_in_rule__Document__Group__23475 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Document__StatesAssignment_2_in_rule__Document__Group__2__Impl3502 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Document__Group__3__Impl_in_rule__Document__Group__33533 = new BitSet(new long[]{0x0076C5126D400090L});
    public static final BitSet FOLLOW_rule__Document__Group__4_in_rule__Document__Group__33536 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Document__ElementsAssignment_3_in_rule__Document__Group__3__Impl3563 = new BitSet(new long[]{0x0066C51268000092L});
    public static final BitSet FOLLOW_rule__Document__Group__4__Impl_in_rule__Document__Group__43594 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Document__StaAssignment_4_in_rule__Document__Group__4__Impl3621 = new BitSet(new long[]{0x0000000005400002L});
    public static final BitSet FOLLOW_rule__State__Group_0__0__Impl_in_rule__State__Group_0__03662 = new BitSet(new long[]{0x0000000000000080L});
    public static final BitSet FOLLOW_rule__State__Group_0__1_in_rule__State__Group_0__03665 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_22_in_rule__State__Group_0__0__Impl3693 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__State__Group_0__1__Impl_in_rule__State__Group_0__13724 = new BitSet(new long[]{0x0000000000800000L});
    public static final BitSet FOLLOW_rule__State__Group_0__2_in_rule__State__Group_0__13727 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__State__NameAssignment_0_1_in_rule__State__Group_0__1__Impl3754 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__State__Group_0__2__Impl_in_rule__State__Group_0__23784 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__State__Group_0_2__0_in_rule__State__Group_0__2__Impl3811 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__State__Group_0_2__0__Impl_in_rule__State__Group_0_2__03848 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_rule__State__Group_0_2__1_in_rule__State__Group_0_2__03851 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_23_in_rule__State__Group_0_2__0__Impl3879 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__State__Group_0_2__1__Impl_in_rule__State__Group_0_2__13910 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__State__TimesAssignment_0_2_1_in_rule__State__Group_0_2__1__Impl3937 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__State__Group_1__0__Impl_in_rule__State__Group_1__03971 = new BitSet(new long[]{0x0000000005400000L});
    public static final BitSet FOLLOW_rule__State__Group_1__1_in_rule__State__Group_1__03974 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__State__Group_1_0__0_in_rule__State__Group_1__0__Impl4001 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__State__Group_1__1__Impl_in_rule__State__Group_1__14032 = new BitSet(new long[]{0x006ECD126A000090L});
    public static final BitSet FOLLOW_rule__State__Group_1__2_in_rule__State__Group_1__14035 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_24_in_rule__State__Group_1__1__Impl4063 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__State__Group_1__2__Impl_in_rule__State__Group_1__24094 = new BitSet(new long[]{0x006ECD126A000090L});
    public static final BitSet FOLLOW_rule__State__Group_1__3_in_rule__State__Group_1__24097 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__State__StmsAssignment_1_2_in_rule__State__Group_1__2__Impl4124 = new BitSet(new long[]{0x006ECD1268000092L});
    public static final BitSet FOLLOW_rule__State__Group_1__3__Impl_in_rule__State__Group_1__34155 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_25_in_rule__State__Group_1__3__Impl4183 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__State__Group_1_0__0__Impl_in_rule__State__Group_1_0__04222 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_rule__State__Group_1_0__1_in_rule__State__Group_1_0__04225 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_26_in_rule__State__Group_1_0__0__Impl4253 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__State__Group_1_0__1__Impl_in_rule__State__Group_1_0__14284 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__State__TimeoutAssignment_1_0_1_in_rule__State__Group_1_0__1__Impl4311 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Dial__Group__0__Impl_in_rule__Dial__Group__04345 = new BitSet(new long[]{0x00000020000381E0L});
    public static final BitSet FOLLOW_rule__Dial__Group__1_in_rule__Dial__Group__04348 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_27_in_rule__Dial__Group__0__Impl4376 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Dial__Group__1__Impl_in_rule__Dial__Group__14407 = new BitSet(new long[]{0x0000000010000000L});
    public static final BitSet FOLLOW_rule__Dial__Group__2_in_rule__Dial__Group__14410 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Dial__ToAssignment_1_in_rule__Dial__Group__1__Impl4437 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Dial__Group__2__Impl_in_rule__Dial__Group__24467 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_28_in_rule__Dial__Group__2__Impl4495 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Play__Group__0__Impl_in_rule__Play__Group__04532 = new BitSet(new long[]{0x00000020000381E0L});
    public static final BitSet FOLLOW_rule__Play__Group__1_in_rule__Play__Group__04535 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_29_in_rule__Play__Group__0__Impl4563 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Play__Group__1__Impl_in_rule__Play__Group__14594 = new BitSet(new long[]{0x0000000010000000L});
    public static final BitSet FOLLOW_rule__Play__Group__2_in_rule__Play__Group__14597 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Play__FileAssignment_1_in_rule__Play__Group__1__Impl4624 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Play__Group__2__Impl_in_rule__Play__Group__24654 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_28_in_rule__Play__Group__2__Impl4682 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Record__Group__0__Impl_in_rule__Record__Group__04719 = new BitSet(new long[]{0x00000020000381E0L});
    public static final BitSet FOLLOW_rule__Record__Group__1_in_rule__Record__Group__04722 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_30_in_rule__Record__Group__0__Impl4750 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Record__Group__1__Impl_in_rule__Record__Group__14781 = new BitSet(new long[]{0x0000000190000000L});
    public static final BitSet FOLLOW_rule__Record__Group__2_in_rule__Record__Group__14784 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Record__ActionAssignment_1_in_rule__Record__Group__1__Impl4811 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Record__Group__2__Impl_in_rule__Record__Group__24841 = new BitSet(new long[]{0x0000000190000000L});
    public static final BitSet FOLLOW_rule__Record__Group__3_in_rule__Record__Group__24844 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Record__Group_2__0_in_rule__Record__Group__2__Impl4871 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Record__Group__3__Impl_in_rule__Record__Group__34902 = new BitSet(new long[]{0x0000000190000000L});
    public static final BitSet FOLLOW_rule__Record__Group__4_in_rule__Record__Group__34905 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Record__Group_3__0_in_rule__Record__Group__3__Impl4932 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Record__Group__4__Impl_in_rule__Record__Group__44963 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_28_in_rule__Record__Group__4__Impl4991 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Record__Group_2__0__Impl_in_rule__Record__Group_2__05032 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_rule__Record__Group_2__1_in_rule__Record__Group_2__05035 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_31_in_rule__Record__Group_2__0__Impl5063 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Record__Group_2__1__Impl_in_rule__Record__Group_2__15094 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Record__TimeAssignment_2_1_in_rule__Record__Group_2__1__Impl5121 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Record__Group_3__0__Impl_in_rule__Record__Group_3__05155 = new BitSet(new long[]{0x0000000000000080L});
    public static final BitSet FOLLOW_rule__Record__Group_3__1_in_rule__Record__Group_3__05158 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_32_in_rule__Record__Group_3__0__Impl5186 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Record__Group_3__1__Impl_in_rule__Record__Group_3__15217 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Record__NameAssignment_3_1_in_rule__Record__Group_3__1__Impl5244 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Reject__Group__0__Impl_in_rule__Reject__Group__05278 = new BitSet(new long[]{0x0000000010000000L});
    public static final BitSet FOLLOW_rule__Reject__Group__1_in_rule__Reject__Group__05281 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Reject__NameAssignment_0_in_rule__Reject__Group__0__Impl5308 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Reject__Group__1__Impl_in_rule__Reject__Group__15338 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_28_in_rule__Reject__Group__1__Impl5366 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Hangup__Group__0__Impl_in_rule__Hangup__Group__05401 = new BitSet(new long[]{0x0000000010000000L});
    public static final BitSet FOLLOW_rule__Hangup__Group__1_in_rule__Hangup__Group__05404 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Hangup__NameAssignment_0_in_rule__Hangup__Group__0__Impl5431 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Hangup__Group__1__Impl_in_rule__Hangup__Group__15461 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_28_in_rule__Hangup__Group__1__Impl5489 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GetDigits__Group__0__Impl_in_rule__GetDigits__Group__05524 = new BitSet(new long[]{0x0000000000000080L});
    public static final BitSet FOLLOW_rule__GetDigits__Group__1_in_rule__GetDigits__Group__05527 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_33_in_rule__GetDigits__Group__0__Impl5555 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GetDigits__Group__1__Impl_in_rule__GetDigits__Group__15586 = new BitSet(new long[]{0x0000000400000000L});
    public static final BitSet FOLLOW_rule__GetDigits__Group__2_in_rule__GetDigits__Group__15589 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GetDigits__NameAssignment_1_in_rule__GetDigits__Group__1__Impl5616 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GetDigits__Group__2__Impl_in_rule__GetDigits__Group__25646 = new BitSet(new long[]{0x00000020000381E0L});
    public static final BitSet FOLLOW_rule__GetDigits__Group__3_in_rule__GetDigits__Group__25649 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_34_in_rule__GetDigits__Group__2__Impl5677 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GetDigits__Group__3__Impl_in_rule__GetDigits__Group__35708 = new BitSet(new long[]{0x0000000800000000L});
    public static final BitSet FOLLOW_rule__GetDigits__Group__4_in_rule__GetDigits__Group__35711 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GetDigits__QuestionAssignment_3_in_rule__GetDigits__Group__3__Impl5738 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GetDigits__Group__4__Impl_in_rule__GetDigits__Group__45768 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_rule__GetDigits__Group__5_in_rule__GetDigits__Group__45771 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_35_in_rule__GetDigits__Group__4__Impl5799 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GetDigits__Group__5__Impl_in_rule__GetDigits__Group__55830 = new BitSet(new long[]{0x0000000010000000L});
    public static final BitSet FOLLOW_rule__GetDigits__Group__6_in_rule__GetDigits__Group__55833 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GetDigits__NumDigitsAssignment_5_in_rule__GetDigits__Group__5__Impl5860 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GetDigits__Group__6__Impl_in_rule__GetDigits__Group__65890 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_28_in_rule__GetDigits__Group__6__Impl5918 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Ask__Group__0__Impl_in_rule__Ask__Group__05963 = new BitSet(new long[]{0x0000000000000080L});
    public static final BitSet FOLLOW_rule__Ask__Group__1_in_rule__Ask__Group__05966 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_36_in_rule__Ask__Group__0__Impl5994 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Ask__Group__1__Impl_in_rule__Ask__Group__16025 = new BitSet(new long[]{0x0000000400000000L});
    public static final BitSet FOLLOW_rule__Ask__Group__2_in_rule__Ask__Group__16028 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Ask__NameAssignment_1_in_rule__Ask__Group__1__Impl6055 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Ask__Group__2__Impl_in_rule__Ask__Group__26085 = new BitSet(new long[]{0x00000020000381E0L});
    public static final BitSet FOLLOW_rule__Ask__Group__3_in_rule__Ask__Group__26088 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_34_in_rule__Ask__Group__2__Impl6116 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Ask__Group__3__Impl_in_rule__Ask__Group__36147 = new BitSet(new long[]{0x0000002010000000L});
    public static final BitSet FOLLOW_rule__Ask__Group__4_in_rule__Ask__Group__36150 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Ask__QuestionAssignment_3_in_rule__Ask__Group__3__Impl6177 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Ask__Group__4__Impl_in_rule__Ask__Group__46207 = new BitSet(new long[]{0x0000002010000000L});
    public static final BitSet FOLLOW_rule__Ask__Group__5_in_rule__Ask__Group__46210 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Ask__Group_4__0_in_rule__Ask__Group__4__Impl6237 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Ask__Group__5__Impl_in_rule__Ask__Group__56268 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_28_in_rule__Ask__Group__5__Impl6296 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Ask__Group_4__0__Impl_in_rule__Ask__Group_4__06339 = new BitSet(new long[]{0x0000008000000000L});
    public static final BitSet FOLLOW_rule__Ask__Group_4__1_in_rule__Ask__Group_4__06342 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_37_in_rule__Ask__Group_4__0__Impl6370 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Ask__Group_4__1__Impl_in_rule__Ask__Group_4__16401 = new BitSet(new long[]{0x0000004000000000L});
    public static final BitSet FOLLOW_rule__Ask__Group_4__2_in_rule__Ask__Group_4__16404 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Ask__Group_4_1__0_in_rule__Ask__Group_4__1__Impl6431 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Ask__Group_4__2__Impl_in_rule__Ask__Group_4__26461 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_38_in_rule__Ask__Group_4__2__Impl6489 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Ask__Group_4_1__0__Impl_in_rule__Ask__Group_4_1__06526 = new BitSet(new long[]{0x0000000000000100L});
    public static final BitSet FOLLOW_rule__Ask__Group_4_1__1_in_rule__Ask__Group_4_1__06529 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_39_in_rule__Ask__Group_4_1__0__Impl6557 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Ask__Group_4_1__1__Impl_in_rule__Ask__Group_4_1__16588 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Ask__ChoicesAssignment_4_1_1_in_rule__Ask__Group_4_1__1__Impl6615 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Send__Group__0__Impl_in_rule__Send__Group__06649 = new BitSet(new long[]{0x0000000000000100L});
    public static final BitSet FOLLOW_rule__Send__Group__1_in_rule__Send__Group__06652 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_40_in_rule__Send__Group__0__Impl6680 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Send__Group__1__Impl_in_rule__Send__Group__16711 = new BitSet(new long[]{0x00000020000381E0L});
    public static final BitSet FOLLOW_rule__Send__Group__2_in_rule__Send__Group__16714 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Send__NameAssignment_1_in_rule__Send__Group__1__Impl6741 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Send__Group__2__Impl_in_rule__Send__Group__26771 = new BitSet(new long[]{0x0000020000000000L});
    public static final BitSet FOLLOW_rule__Send__Group__3_in_rule__Send__Group__26774 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Send__ThatAssignment_2_in_rule__Send__Group__2__Impl6801 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Send__Group__3__Impl_in_rule__Send__Group__36831 = new BitSet(new long[]{0x00000020000381E0L});
    public static final BitSet FOLLOW_rule__Send__Group__4_in_rule__Send__Group__36834 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_41_in_rule__Send__Group__3__Impl6862 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Send__Group__4__Impl_in_rule__Send__Group__46893 = new BitSet(new long[]{0x0000000010000000L});
    public static final BitSet FOLLOW_rule__Send__Group__5_in_rule__Send__Group__46896 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Send__UriAssignment_4_in_rule__Send__Group__4__Impl6923 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Send__Group__5__Impl_in_rule__Send__Group__56953 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_28_in_rule__Send__Group__5__Impl6981 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Say__Group__0__Impl_in_rule__Say__Group__07024 = new BitSet(new long[]{0x00000020000381E0L});
    public static final BitSet FOLLOW_rule__Say__Group__1_in_rule__Say__Group__07027 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_42_in_rule__Say__Group__0__Impl7055 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Say__Group__1__Impl_in_rule__Say__Group__17086 = new BitSet(new long[]{0x0000000010000000L});
    public static final BitSet FOLLOW_rule__Say__Group__2_in_rule__Say__Group__17089 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Say__ThatAssignment_1_in_rule__Say__Group__1__Impl7116 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Say__Group__2__Impl_in_rule__Say__Group__27146 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_28_in_rule__Say__Group__2__Impl7174 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Transition__Group__0__Impl_in_rule__Transition__Group__07211 = new BitSet(new long[]{0x0000000000000080L});
    public static final BitSet FOLLOW_rule__Transition__Group__1_in_rule__Transition__Group__07214 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_43_in_rule__Transition__Group__0__Impl7242 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Transition__Group__1__Impl_in_rule__Transition__Group__17273 = new BitSet(new long[]{0x0000100000000000L});
    public static final BitSet FOLLOW_rule__Transition__Group__2_in_rule__Transition__Group__17276 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Transition__TargetAssignment_1_in_rule__Transition__Group__1__Impl7303 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Transition__Group__2__Impl_in_rule__Transition__Group__27333 = new BitSet(new long[]{0x0000000000000200L});
    public static final BitSet FOLLOW_rule__Transition__Group__3_in_rule__Transition__Group__27336 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_44_in_rule__Transition__Group__2__Impl7364 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Transition__Group__3__Impl_in_rule__Transition__Group__37395 = new BitSet(new long[]{0x0000000010000000L});
    public static final BitSet FOLLOW_rule__Transition__Group__4_in_rule__Transition__Group__37398 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Transition__EventAssignment_3_in_rule__Transition__Group__3__Impl7425 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Transition__Group__4__Impl_in_rule__Transition__Group__47455 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_28_in_rule__Transition__Group__4__Impl7483 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfExp__Group__0__Impl_in_rule__IfExp__Group__07524 = new BitSet(new long[]{0x0000200000000000L});
    public static final BitSet FOLLOW_rule__IfExp__Group__1_in_rule__IfExp__Group__07527 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfExp__BlockAssignment_0_in_rule__IfExp__Group__0__Impl7554 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfExp__Group__1__Impl_in_rule__IfExp__Group__17584 = new BitSet(new long[]{0x0000200000000000L});
    public static final BitSet FOLLOW_rule__IfExp__Group__2_in_rule__IfExp__Group__17587 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfExp__Group_1__0_in_rule__IfExp__Group__1__Impl7614 = new BitSet(new long[]{0x0000200000000002L});
    public static final BitSet FOLLOW_rule__IfExp__Group__2__Impl_in_rule__IfExp__Group__27645 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfExp__Group_2__0_in_rule__IfExp__Group__2__Impl7672 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfExp__Group_1__0__Impl_in_rule__IfExp__Group_1__07709 = new BitSet(new long[]{0x0066C51268000090L});
    public static final BitSet FOLLOW_rule__IfExp__Group_1__1_in_rule__IfExp__Group_1__07712 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_45_in_rule__IfExp__Group_1__0__Impl7740 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfExp__Group_1__1__Impl_in_rule__IfExp__Group_1__17771 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfExp__BlocksAssignment_1_1_in_rule__IfExp__Group_1__1__Impl7798 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfExp__Group_2__0__Impl_in_rule__IfExp__Group_2__07832 = new BitSet(new long[]{0x0000000001000000L});
    public static final BitSet FOLLOW_rule__IfExp__Group_2__1_in_rule__IfExp__Group_2__07835 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_45_in_rule__IfExp__Group_2__0__Impl7863 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfExp__Group_2__1__Impl_in_rule__IfExp__Group_2__17894 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfExp__DefaultBlockAssignment_2_1_in_rule__IfExp__Group_2__1__Impl7921 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Block__Group__0__Impl_in_rule__Block__Group__07955 = new BitSet(new long[]{0x0066C5126A000090L});
    public static final BitSet FOLLOW_rule__Block__Group__1_in_rule__Block__Group__07958 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_24_in_rule__Block__Group__0__Impl7986 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Block__Group__1__Impl_in_rule__Block__Group__18017 = new BitSet(new long[]{0x0066C5126A000090L});
    public static final BitSet FOLLOW_rule__Block__Group__2_in_rule__Block__Group__18020 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Block__StmsAssignment_1_in_rule__Block__Group__1__Impl8047 = new BitSet(new long[]{0x0066C51268000092L});
    public static final BitSet FOLLOW_rule__Block__Group__2__Impl_in_rule__Block__Group__28078 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_25_in_rule__Block__Group__2__Impl8106 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__CondBlock__Group__0__Impl_in_rule__CondBlock__Group__08143 = new BitSet(new long[]{0x00000020000391E0L});
    public static final BitSet FOLLOW_rule__CondBlock__Group__1_in_rule__CondBlock__Group__08146 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_46_in_rule__CondBlock__Group__0__Impl8174 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__CondBlock__Group__1__Impl_in_rule__CondBlock__Group__18205 = new BitSet(new long[]{0x0000000001000000L});
    public static final BitSet FOLLOW_rule__CondBlock__Group__2_in_rule__CondBlock__Group__18208 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__CondBlock__CondAssignment_1_in_rule__CondBlock__Group__1__Impl8235 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__CondBlock__Group__2__Impl_in_rule__CondBlock__Group__28265 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__CondBlock__ActionAssignment_2_in_rule__CondBlock__Group__2__Impl8292 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfStateExp__Group__0__Impl_in_rule__IfStateExp__Group__08328 = new BitSet(new long[]{0x0000200000000000L});
    public static final BitSet FOLLOW_rule__IfStateExp__Group__1_in_rule__IfStateExp__Group__08331 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfStateExp__BlockAssignment_0_in_rule__IfStateExp__Group__0__Impl8358 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfStateExp__Group__1__Impl_in_rule__IfStateExp__Group__18388 = new BitSet(new long[]{0x0000200000000000L});
    public static final BitSet FOLLOW_rule__IfStateExp__Group__2_in_rule__IfStateExp__Group__18391 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfStateExp__Group_1__0_in_rule__IfStateExp__Group__1__Impl8418 = new BitSet(new long[]{0x0000200000000002L});
    public static final BitSet FOLLOW_rule__IfStateExp__Group__2__Impl_in_rule__IfStateExp__Group__28449 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfStateExp__Group_2__0_in_rule__IfStateExp__Group__2__Impl8476 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfStateExp__Group_1__0__Impl_in_rule__IfStateExp__Group_1__08513 = new BitSet(new long[]{0x006ECD1268000090L});
    public static final BitSet FOLLOW_rule__IfStateExp__Group_1__1_in_rule__IfStateExp__Group_1__08516 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_45_in_rule__IfStateExp__Group_1__0__Impl8544 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfStateExp__Group_1__1__Impl_in_rule__IfStateExp__Group_1__18575 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfStateExp__BlocksAssignment_1_1_in_rule__IfStateExp__Group_1__1__Impl8602 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfStateExp__Group_2__0__Impl_in_rule__IfStateExp__Group_2__08636 = new BitSet(new long[]{0x0000000001000000L});
    public static final BitSet FOLLOW_rule__IfStateExp__Group_2__1_in_rule__IfStateExp__Group_2__08639 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_45_in_rule__IfStateExp__Group_2__0__Impl8667 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfStateExp__Group_2__1__Impl_in_rule__IfStateExp__Group_2__18698 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__IfStateExp__DefaultBlockAssignment_2_1_in_rule__IfStateExp__Group_2__1__Impl8725 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__CondStateBlock__Group__0__Impl_in_rule__CondStateBlock__Group__08759 = new BitSet(new long[]{0x00000020000391E0L});
    public static final BitSet FOLLOW_rule__CondStateBlock__Group__1_in_rule__CondStateBlock__Group__08762 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_46_in_rule__CondStateBlock__Group__0__Impl8790 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__CondStateBlock__Group__1__Impl_in_rule__CondStateBlock__Group__18821 = new BitSet(new long[]{0x0000000001000000L});
    public static final BitSet FOLLOW_rule__CondStateBlock__Group__2_in_rule__CondStateBlock__Group__18824 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__CondStateBlock__CondAssignment_1_in_rule__CondStateBlock__Group__1__Impl8851 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__CondStateBlock__Group__2__Impl_in_rule__CondStateBlock__Group__28881 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__CondStateBlock__ActionAssignment_2_in_rule__CondStateBlock__Group__2__Impl8908 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BlockState__Group__0__Impl_in_rule__BlockState__Group__08944 = new BitSet(new long[]{0x006ECD126A000090L});
    public static final BitSet FOLLOW_rule__BlockState__Group__1_in_rule__BlockState__Group__08947 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_24_in_rule__BlockState__Group__0__Impl8975 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BlockState__Group__1__Impl_in_rule__BlockState__Group__19006 = new BitSet(new long[]{0x006ECD126A000090L});
    public static final BitSet FOLLOW_rule__BlockState__Group__2_in_rule__BlockState__Group__19009 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BlockState__StaAssignment_1_in_rule__BlockState__Group__1__Impl9036 = new BitSet(new long[]{0x006ECD1268000092L});
    public static final BitSet FOLLOW_rule__BlockState__Group__2__Impl_in_rule__BlockState__Group__29067 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_25_in_rule__BlockState__Group__2__Impl9095 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BoolExpression__Group__0__Impl_in_rule__BoolExpression__Group__09132 = new BitSet(new long[]{0x0000000000000400L});
    public static final BitSet FOLLOW_rule__BoolExpression__Group__1_in_rule__BoolExpression__Group__09135 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTerminalBoolExpression_in_rule__BoolExpression__Group__0__Impl9162 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BoolExpression__Group__1__Impl_in_rule__BoolExpression__Group__19191 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BoolExpression__Group_1__0_in_rule__BoolExpression__Group__1__Impl9218 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BoolExpression__Group_1__0__Impl_in_rule__BoolExpression__Group_1__09253 = new BitSet(new long[]{0x0000000000000400L});
    public static final BitSet FOLLOW_rule__BoolExpression__Group_1__1_in_rule__BoolExpression__Group_1__09256 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BoolExpression__Group_1__1__Impl_in_rule__BoolExpression__Group_1__19314 = new BitSet(new long[]{0x00000020000391E0L});
    public static final BitSet FOLLOW_rule__BoolExpression__Group_1__2_in_rule__BoolExpression__Group_1__19317 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BoolExpression__OpAssignment_1_1_in_rule__BoolExpression__Group_1__1__Impl9344 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BoolExpression__Group_1__2__Impl_in_rule__BoolExpression__Group_1__29374 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BoolExpression__RightAssignment_1_2_in_rule__BoolExpression__Group_1__2__Impl9401 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TerminalBoolExpression__Group_0__0__Impl_in_rule__TerminalBoolExpression__Group_0__09437 = new BitSet(new long[]{0x00000020000391E0L});
    public static final BitSet FOLLOW_rule__TerminalBoolExpression__Group_0__1_in_rule__TerminalBoolExpression__Group_0__09440 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_37_in_rule__TerminalBoolExpression__Group_0__0__Impl9468 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TerminalBoolExpression__Group_0__1__Impl_in_rule__TerminalBoolExpression__Group_0__19499 = new BitSet(new long[]{0x0000004000000000L});
    public static final BitSet FOLLOW_rule__TerminalBoolExpression__Group_0__2_in_rule__TerminalBoolExpression__Group_0__19502 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBoolExpression_in_rule__TerminalBoolExpression__Group_0__1__Impl9529 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TerminalBoolExpression__Group_0__2__Impl_in_rule__TerminalBoolExpression__Group_0__29558 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_38_in_rule__TerminalBoolExpression__Group_0__2__Impl9586 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__CompareExpression__Group__0__Impl_in_rule__CompareExpression__Group__09623 = new BitSet(new long[]{0x0000000000000800L});
    public static final BitSet FOLLOW_rule__CompareExpression__Group__1_in_rule__CompareExpression__Group__09626 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__CompareExpression__LeftAssignment_0_in_rule__CompareExpression__Group__0__Impl9653 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__CompareExpression__Group__1__Impl_in_rule__CompareExpression__Group__19683 = new BitSet(new long[]{0x00000020000381E0L});
    public static final BitSet FOLLOW_rule__CompareExpression__Group__2_in_rule__CompareExpression__Group__19686 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__CompareExpression__OpAssignment_1_in_rule__CompareExpression__Group__1__Impl9713 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__CompareExpression__Group__2__Impl_in_rule__CompareExpression__Group__29743 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__CompareExpression__RightAssignment_2_in_rule__CompareExpression__Group__2__Impl9770 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NegExpression__Group__0__Impl_in_rule__NegExpression__Group__09806 = new BitSet(new long[]{0x00000020000391E0L});
    public static final BitSet FOLLOW_rule__NegExpression__Group__1_in_rule__NegExpression__Group__09809 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NegExpression__OpAssignment_0_in_rule__NegExpression__Group__0__Impl9836 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NegExpression__Group__1__Impl_in_rule__NegExpression__Group__19866 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NegExpression__ObjAssignment_1_in_rule__NegExpression__Group__1__Impl9893 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MathExpression__Group__0__Impl_in_rule__MathExpression__Group__09927 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_rule__MathExpression__Group__1_in_rule__MathExpression__Group__09930 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleMathTerminal_in_rule__MathExpression__Group__0__Impl9957 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MathExpression__Group__1__Impl_in_rule__MathExpression__Group__19986 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MathExpression__Group_1__0_in_rule__MathExpression__Group__1__Impl10013 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MathExpression__Group_1__0__Impl_in_rule__MathExpression__Group_1__010048 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_rule__MathExpression__Group_1__1_in_rule__MathExpression__Group_1__010051 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MathExpression__Group_1__1__Impl_in_rule__MathExpression__Group_1__110109 = new BitSet(new long[]{0x00000020000180E0L});
    public static final BitSet FOLLOW_rule__MathExpression__Group_1__2_in_rule__MathExpression__Group_1__110112 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MathExpression__OpAssignment_1_1_in_rule__MathExpression__Group_1__1__Impl10139 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MathExpression__Group_1__2__Impl_in_rule__MathExpression__Group_1__210169 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MathExpression__RightAssignment_1_2_in_rule__MathExpression__Group_1__2__Impl10196 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MathTerminal__Group_0__0__Impl_in_rule__MathTerminal__Group_0__010232 = new BitSet(new long[]{0x00000020000180E0L});
    public static final BitSet FOLLOW_rule__MathTerminal__Group_0__1_in_rule__MathTerminal__Group_0__010235 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_37_in_rule__MathTerminal__Group_0__0__Impl10263 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MathTerminal__Group_0__1__Impl_in_rule__MathTerminal__Group_0__110294 = new BitSet(new long[]{0x0000004000000000L});
    public static final BitSet FOLLOW_rule__MathTerminal__Group_0__2_in_rule__MathTerminal__Group_0__110297 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleMathExpression_in_rule__MathTerminal__Group_0__1__Impl10324 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__MathTerminal__Group_0__2__Impl_in_rule__MathTerminal__Group_0__210353 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_38_in_rule__MathTerminal__Group_0__2__Impl10381 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ConcatenationExpression__Group__0__Impl_in_rule__ConcatenationExpression__Group__010418 = new BitSet(new long[]{0x0000000000004000L});
    public static final BitSet FOLLOW_rule__ConcatenationExpression__Group__1_in_rule__ConcatenationExpression__Group__010421 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleConcatenationTerminal_in_rule__ConcatenationExpression__Group__0__Impl10448 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ConcatenationExpression__Group__1__Impl_in_rule__ConcatenationExpression__Group__110477 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ConcatenationExpression__Group_1__0_in_rule__ConcatenationExpression__Group__1__Impl10504 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ConcatenationExpression__Group_1__0__Impl_in_rule__ConcatenationExpression__Group_1__010539 = new BitSet(new long[]{0x0000000000004000L});
    public static final BitSet FOLLOW_rule__ConcatenationExpression__Group_1__1_in_rule__ConcatenationExpression__Group_1__010542 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ConcatenationExpression__Group_1__1__Impl_in_rule__ConcatenationExpression__Group_1__110600 = new BitSet(new long[]{0x00000020000381E0L});
    public static final BitSet FOLLOW_rule__ConcatenationExpression__Group_1__2_in_rule__ConcatenationExpression__Group_1__110603 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ConcatenationExpression__OpAssignment_1_1_in_rule__ConcatenationExpression__Group_1__1__Impl10630 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ConcatenationExpression__Group_1__2__Impl_in_rule__ConcatenationExpression__Group_1__210660 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ConcatenationExpression__RightAssignment_1_2_in_rule__ConcatenationExpression__Group_1__2__Impl10687 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ConcatenationTerminal__Group_0__0__Impl_in_rule__ConcatenationTerminal__Group_0__010723 = new BitSet(new long[]{0x00000020000381E0L});
    public static final BitSet FOLLOW_rule__ConcatenationTerminal__Group_0__1_in_rule__ConcatenationTerminal__Group_0__010726 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_37_in_rule__ConcatenationTerminal__Group_0__0__Impl10754 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ConcatenationTerminal__Group_0__1__Impl_in_rule__ConcatenationTerminal__Group_0__110785 = new BitSet(new long[]{0x0000004000000000L});
    public static final BitSet FOLLOW_rule__ConcatenationTerminal__Group_0__2_in_rule__ConcatenationTerminal__Group_0__110788 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleConcatenationExpression_in_rule__ConcatenationTerminal__Group_0__1__Impl10815 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ConcatenationTerminal__Group_0__2__Impl_in_rule__ConcatenationTerminal__Group_0__210844 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_38_in_rule__ConcatenationTerminal__Group_0__2__Impl10872 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StringVariable__Group__0__Impl_in_rule__StringVariable__Group__010909 = new BitSet(new long[]{0x0000000000000080L});
    public static final BitSet FOLLOW_rule__StringVariable__Group__1_in_rule__StringVariable__Group__010912 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_47_in_rule__StringVariable__Group__0__Impl10940 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StringVariable__Group__1__Impl_in_rule__StringVariable__Group__110971 = new BitSet(new long[]{0x0001000010000000L});
    public static final BitSet FOLLOW_rule__StringVariable__Group__2_in_rule__StringVariable__Group__110974 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StringVariable__NameAssignment_1_in_rule__StringVariable__Group__1__Impl11001 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StringVariable__Group__2__Impl_in_rule__StringVariable__Group__211031 = new BitSet(new long[]{0x0001000010000000L});
    public static final BitSet FOLLOW_rule__StringVariable__Group__3_in_rule__StringVariable__Group__211034 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StringVariable__Group_2__0_in_rule__StringVariable__Group__2__Impl11061 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StringVariable__Group__3__Impl_in_rule__StringVariable__Group__311092 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_28_in_rule__StringVariable__Group__3__Impl11120 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StringVariable__Group_2__0__Impl_in_rule__StringVariable__Group_2__011159 = new BitSet(new long[]{0x00000020000381E0L});
    public static final BitSet FOLLOW_rule__StringVariable__Group_2__1_in_rule__StringVariable__Group_2__011162 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_48_in_rule__StringVariable__Group_2__0__Impl11190 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StringVariable__Group_2__1__Impl_in_rule__StringVariable__Group_2__111221 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StringVariable__ValueAssignment_2_1_in_rule__StringVariable__Group_2__1__Impl11248 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NumVariable__Group__0__Impl_in_rule__NumVariable__Group__011282 = new BitSet(new long[]{0x0000000000000080L});
    public static final BitSet FOLLOW_rule__NumVariable__Group__1_in_rule__NumVariable__Group__011285 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_49_in_rule__NumVariable__Group__0__Impl11313 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NumVariable__Group__1__Impl_in_rule__NumVariable__Group__111344 = new BitSet(new long[]{0x0001000010000000L});
    public static final BitSet FOLLOW_rule__NumVariable__Group__2_in_rule__NumVariable__Group__111347 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NumVariable__NameAssignment_1_in_rule__NumVariable__Group__1__Impl11374 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NumVariable__Group__2__Impl_in_rule__NumVariable__Group__211404 = new BitSet(new long[]{0x0001000010000000L});
    public static final BitSet FOLLOW_rule__NumVariable__Group__3_in_rule__NumVariable__Group__211407 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NumVariable__Group_2__0_in_rule__NumVariable__Group__2__Impl11434 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NumVariable__Group__3__Impl_in_rule__NumVariable__Group__311465 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_28_in_rule__NumVariable__Group__3__Impl11493 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NumVariable__Group_2__0__Impl_in_rule__NumVariable__Group_2__011532 = new BitSet(new long[]{0x00000020000180E0L});
    public static final BitSet FOLLOW_rule__NumVariable__Group_2__1_in_rule__NumVariable__Group_2__011535 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_48_in_rule__NumVariable__Group_2__0__Impl11563 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NumVariable__Group_2__1__Impl_in_rule__NumVariable__Group_2__111594 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NumVariable__ValueAssignment_2_1_in_rule__NumVariable__Group_2__1__Impl11621 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BoolVariable__Group__0__Impl_in_rule__BoolVariable__Group__011655 = new BitSet(new long[]{0x0000000000000080L});
    public static final BitSet FOLLOW_rule__BoolVariable__Group__1_in_rule__BoolVariable__Group__011658 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_50_in_rule__BoolVariable__Group__0__Impl11686 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BoolVariable__Group__1__Impl_in_rule__BoolVariable__Group__111717 = new BitSet(new long[]{0x0001000010000000L});
    public static final BitSet FOLLOW_rule__BoolVariable__Group__2_in_rule__BoolVariable__Group__111720 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BoolVariable__NameAssignment_1_in_rule__BoolVariable__Group__1__Impl11747 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BoolVariable__Group__2__Impl_in_rule__BoolVariable__Group__211777 = new BitSet(new long[]{0x0001000010000000L});
    public static final BitSet FOLLOW_rule__BoolVariable__Group__3_in_rule__BoolVariable__Group__211780 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BoolVariable__Group_2__0_in_rule__BoolVariable__Group__2__Impl11807 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BoolVariable__Group__3__Impl_in_rule__BoolVariable__Group__311838 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_28_in_rule__BoolVariable__Group__3__Impl11866 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BoolVariable__Group_2__0__Impl_in_rule__BoolVariable__Group_2__011905 = new BitSet(new long[]{0x00000020000391E0L});
    public static final BitSet FOLLOW_rule__BoolVariable__Group_2__1_in_rule__BoolVariable__Group_2__011908 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_48_in_rule__BoolVariable__Group_2__0__Impl11936 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BoolVariable__Group_2__1__Impl_in_rule__BoolVariable__Group_2__111967 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BoolVariable__ValueAssignment_2_1_in_rule__BoolVariable__Group_2__1__Impl11994 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Assigment__Group__0__Impl_in_rule__Assigment__Group__012028 = new BitSet(new long[]{0x0001000000000000L});
    public static final BitSet FOLLOW_rule__Assigment__Group__1_in_rule__Assigment__Group__012031 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Assigment__VaAssignment_0_in_rule__Assigment__Group__0__Impl12058 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Assigment__Group__1__Impl_in_rule__Assigment__Group__112088 = new BitSet(new long[]{0x00000020000180E0L});
    public static final BitSet FOLLOW_rule__Assigment__Group__2_in_rule__Assigment__Group__112091 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_48_in_rule__Assigment__Group__1__Impl12119 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Assigment__Group__2__Impl_in_rule__Assigment__Group__212150 = new BitSet(new long[]{0x0000000010000000L});
    public static final BitSet FOLLOW_rule__Assigment__Group__3_in_rule__Assigment__Group__212153 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Assigment__RightAssignment_2_in_rule__Assigment__Group__2__Impl12180 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Assigment__Group__3__Impl_in_rule__Assigment__Group__312210 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_28_in_rule__Assigment__Group__3__Impl12238 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BoolLiteral__Group__0__Impl_in_rule__BoolLiteral__Group__012277 = new BitSet(new long[]{0x00000020000381E0L});
    public static final BitSet FOLLOW_rule__BoolLiteral__Group__1_in_rule__BoolLiteral__Group__012280 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BoolLiteral__Group__1__Impl_in_rule__BoolLiteral__Group__112338 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BoolLiteral__ValueAssignment_1_in_rule__BoolLiteral__Group__1__Impl12365 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NumLiteral__Group__0__Impl_in_rule__NumLiteral__Group__012399 = new BitSet(new long[]{0x0000000000000060L});
    public static final BitSet FOLLOW_rule__NumLiteral__Group__1_in_rule__NumLiteral__Group__012402 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NumLiteral__Group__1__Impl_in_rule__NumLiteral__Group__112460 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NumLiteral__ValueAssignment_1_in_rule__NumLiteral__Group__1__Impl12487 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StringLiteral__Group__0__Impl_in_rule__StringLiteral__Group__012521 = new BitSet(new long[]{0x0000000000000100L});
    public static final BitSet FOLLOW_rule__StringLiteral__Group__1_in_rule__StringLiteral__Group__012524 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StringLiteral__Group__1__Impl_in_rule__StringLiteral__Group__112582 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__StringLiteral__ValueAssignment_1_in_rule__StringLiteral__Group__1__Impl12609 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Save__Group__0__Impl_in_rule__Save__Group__012643 = new BitSet(new long[]{0x0000000000000080L});
    public static final BitSet FOLLOW_rule__Save__Group__1_in_rule__Save__Group__012646 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_51_in_rule__Save__Group__0__Impl12674 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Save__Group__1__Impl_in_rule__Save__Group__112705 = new BitSet(new long[]{0x0000000010000000L});
    public static final BitSet FOLLOW_rule__Save__Group__2_in_rule__Save__Group__112708 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Save__ThatAssignment_1_in_rule__Save__Group__1__Impl12735 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Save__Group__2__Impl_in_rule__Save__Group__212765 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_28_in_rule__Save__Group__2__Impl12793 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__State__UnorderedGroup__0_in_rule__State__UnorderedGroup12831 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__State__Group_0__0_in_rule__State__UnorderedGroup__Impl12920 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__State__Group_1__0_in_rule__State__UnorderedGroup__Impl13011 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__State__UnorderedGroup__Impl_in_rule__State__UnorderedGroup__013070 = new BitSet(new long[]{0x0000000005400002L});
    public static final BitSet FOLLOW_rule__State__UnorderedGroup__1_in_rule__State__UnorderedGroup__013073 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__State__UnorderedGroup__Impl_in_rule__State__UnorderedGroup__113098 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Document__NameAssignment_113130 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_52_in_rule__Document__StatesAssignment_213166 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAbstractElement_in_rule__Document__ElementsAssignment_313205 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleState_in_rule__Document__StaAssignment_413236 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__State__NameAssignment_0_113267 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_INT_in_rule__State__TimesAssignment_0_2_113298 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_INT_in_rule__State__TimeoutAssignment_1_0_113329 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStateAbstractElement_in_rule__State__StmsAssignment_1_213360 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleConcatenationExpression_in_rule__Dial__ToAssignment_113391 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleConcatenationExpression_in_rule__Play__FileAssignment_113422 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleConcatenationExpression_in_rule__Record__ActionAssignment_113453 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_INT_in_rule__Record__TimeAssignment_2_113484 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Record__NameAssignment_3_113515 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_53_in_rule__Reject__NameAssignment_013551 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_54_in_rule__Hangup__NameAssignment_013595 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__GetDigits__NameAssignment_113634 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleConcatenationExpression_in_rule__GetDigits__QuestionAssignment_313665 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_INT_in_rule__GetDigits__NumDigitsAssignment_513696 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Ask__NameAssignment_113727 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleConcatenationExpression_in_rule__Ask__QuestionAssignment_313758 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Ask__ChoicesAssignment_4_1_113789 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Send__NameAssignment_113820 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleConcatenationExpression_in_rule__Send__ThatAssignment_213851 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleConcatenationExpression_in_rule__Send__UriAssignment_413882 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleConcatenationExpression_in_rule__Say__ThatAssignment_113913 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Transition__TargetAssignment_113948 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_EVENTENUM_in_rule__Transition__EventAssignment_313983 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCondBlock_in_rule__IfExp__BlockAssignment_014014 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCondBlock_in_rule__IfExp__BlocksAssignment_1_114045 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBlock_in_rule__IfExp__DefaultBlockAssignment_2_114076 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAbstractElement_in_rule__Block__StmsAssignment_114107 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTerminalBoolExpression_in_rule__CondBlock__CondAssignment_114138 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBlock_in_rule__CondBlock__ActionAssignment_214169 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCondStateBlock_in_rule__IfStateExp__BlockAssignment_014200 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCondStateBlock_in_rule__IfStateExp__BlocksAssignment_1_114231 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBlockState_in_rule__IfStateExp__DefaultBlockAssignment_2_114262 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTerminalBoolExpression_in_rule__CondStateBlock__CondAssignment_114293 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBlockState_in_rule__CondStateBlock__ActionAssignment_214324 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStateAbstractElement_in_rule__BlockState__StaAssignment_114355 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_LOGIC_WORD_in_rule__BoolExpression__OpAssignment_1_114386 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBoolExpression_in_rule__BoolExpression__RightAssignment_1_214417 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLiteralAbs_in_rule__CompareExpression__LeftAssignment_014448 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_COMPARE_in_rule__CompareExpression__OpAssignment_114479 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLiteralAbs_in_rule__CompareExpression__RightAssignment_214510 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_NEGATION_in_rule__NegExpression__OpAssignment_014541 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTerminalBoolExpression_in_rule__NegExpression__ObjAssignment_114572 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_MATH_in_rule__MathExpression__OpAssignment_1_114603 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleMathExpression_in_rule__MathExpression__RightAssignment_1_214634 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_CONCATENATION_in_rule__ConcatenationExpression__OpAssignment_1_114665 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleConcatenationExpression_in_rule__ConcatenationExpression__RightAssignment_1_214696 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__StringVariable__NameAssignment_114727 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleConcatenationExpression_in_rule__StringVariable__ValueAssignment_2_114758 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__NumVariable__NameAssignment_114789 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleMathExpression_in_rule__NumVariable__ValueAssignment_2_114820 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__BoolVariable__NameAssignment_114851 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBoolExpression_in_rule__BoolVariable__ValueAssignment_2_114882 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Assigment__VaAssignment_014917 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleMathExpression_in_rule__Assigment__RightAssignment_214952 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Literal__VAssignment_114987 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_NULL_in_rule__Literal__NulAssignment_215022 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_SESSION_in_rule__Literal__SesAssignment_315053 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_BOOL_in_rule__BoolLiteral__ValueAssignment_115084 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNumber_in_rule__NumLiteral__ValueAssignment_115115 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__StringLiteral__ValueAssignment_115146 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Save__ThatAssignment_115181 = new BitSet(new long[]{0x0000000000000002L});

}
